2012-04-25 2 views
0

모든 셀의 너비가 같아 지도록 셀 안쪽에 텍스트를 배치하고 싶습니다. 포장 후 텍스트를 숨기면 안됩니다. 여기 내 테이블이 있습니다.HTML의 자동 행 높이 조정

<table border="2" width="20px"> 
<tr> 
<td>testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest</td> 
<td>test</td> 
</tr> 
<tr> 
<td>test</td> 
<td></td> 
</tr> 
</table> 

wordwrap:break-word으로 텍스트가 숨겨집니다. 또한 나는 스크롤 바를 원하지 않는다.

출력을 this과 같게하고 싶습니다.

CSS로 어떻게 달성 할 수 있습니까? 올바른 방향으로 나를 가리켜 라.

+0

테이블에 너비를 설정하려는 것처럼 보입니다. 그러나 열에 대해 각 테이블 셀의 너비를 설정해야합니다. 등 폭. 그렇지 않으면 셀이 내용의 크기에 비례하는 테이블 안의 너비로 늘어납니다. 또한이 표를 사용하여 콘텐츠를 배치하고 있습니까? 이것은 매우 나쁜 관행으로 간주됩니다. div 태그와 CSS를 사용하여 레이아웃이 아니라 테이블을 만드십시오. –

+0

테이블이 나쁜 이유는 무엇입니까? –

+1

많은 디자이너가 [의미 론적 HTML] (http://en.wikipedia.org/wiki/Semantic_HTML)을 만들려고 노력합니다. 즉, HTML 코드는 콘텐츠의 의미를 향상시키고 모양과 레이아웃을 결정하는 것이 아닙니다. 반면에 CSS는 모양과 레이아웃을 만드는 도구입니다. 두 가지를 분리하면 의미를 건드리지 않고 모양을 바꿀 수 있고, 모양을 건드리지 않고도 의미를 바꿀 수 있습니다. 이는 대개 더 적은 HTML 코드를 생성하여 더 빠른 페이지로드를 발생시키는 것을 의미하며 또한 Google이 귀하를 조금도 선호하지 않는다는 것을 의미합니다. –

답변

0

http://jsfiddle.net/fekSg/. 테이블 레이아웃에 고정을 사용하고 모든 td 요소를 줄 바꿈하십시오.

<style> 
td { 
word-wrap: break-word; 
} 
</style> 
<table border="2" width="100px" style='table-layout:fixed;'> 
<tr> 
<td>testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest</td> 
<td>test</td> 
</tr> 
<tr> 
<td>test</td> 
<td></td> 
</tr> 
</table> 
+0

여전히 작동하지 않습니다. - http://jsfiddle.net/dZqNS/ –

+0

다음 편집을 시도하십시오. http://jsfiddle.net/fekSg/ – squarephoenix

+0

예. 작동합니다. –