2014-07-07 4 views
0

많은 솔루션을 거친 후에 제 문제가 해결 될 수 있습니다.텍스트가 표에 맞지 않습니다. - HTML

저는 인 <td>입니다. 그러나이 내부 테이블 안의 텍스트는 텍스트 클립에 맞지 않습니다. 나는 overflow:hidden, <table>table-layout: fixed, <td>word-wrap:break-word과 같은 여러 가지를 시도했지만 여전히 문제를 해결하지 못했습니다.

여기 내 코드입니다 :

<table id="table1"> 
<tr> 
    <td id="td1"> 
     <img src="http://lorempixel.com/165/232" /> 
    </td> 
    <td id="td2">Long text goes here</td> 
    <td id="td3" rowspan="7"> 
     <table id="table2"> 
      <tr> 
       <td>Long text goes here</td> 
      </tr> 
     </table> 
    </td> 
</tr> 

그리고 여기에 CSS의 :

#table1 { 
    width: 765px; 
    border: 1px solid red; 
    border-spacing: 0; 
    padding: 0; 
} 
#td1 { 
    width: 175px; 
    vertical-align: top; 
} 
#td2 { 
    vertical-align: top; 
} 
#td3 { 
    width: 180px; 
    vertical-align: top; 
    background-color: #F3F3F3; 
} 
#table2 { 
    width: 100%; 
    border: 1px solid blue; 
    border-spacing: 0; 
    padding: 8px; 
} 

내부 테이블 클립 안으로 밖으로 내용. 아무도 내부 테이블에 클리핑없이 적절한 내용을 포함 할 수 있도록 솔루션을 제공하십시오.

JSFiddle

+0

시도 인라인 CSS를 피하기 위해; 그것은 당신의 HTML 스타일을 정의하는 적절한 방법이 아닙니다. 대신에 별도의 스타일 시트를 사용하십시오. –

+0

테이블에 ID'# table2'을 부여하고 있습니다; 하지만 CSS에서는'#table 2 '와 같은 공간을 부여했습니다. ID 이름에 공백이 없어야합니다. –

+1

나에게 잘 보입니다. – qtgye

답변

0

이것은 훨씬 간단하게 달성 될 수 있습니다. display: table;display: table-cell;으로 해보겠습니다. 비슷한 동작을하는 블록 요소를 표에 배치 할 수 있지만 유지 보수가 훨씬 쉽고 간단합니다.

Read more on CSS display

Have a Fiddle!

CSS

.box { 
    border: solid 1px #CCC; 
    display: table; 
    padding: 10px; 
} 
.box div { 
    display: table-cell; 
    vertical-align: top; 
    margin: 10px; 
    padding: 10px; 
} 
.right { 
    border: solid 1px #F00; 
} 

HTML

<div class="box"> 
    <div class="left"> 
     <img src="http://placehold.it/200" /> 
    </div> 
    <div class="center">Content</div> 
    <div class="right">Content</div> 
</div> 
관련 문제