2010-04-27 7 views
8

난 이런 CSS 테이블 설정이 너무 넓 테이블 첫번째 컬럼 :CSS 표시 :

<div class='table'> 
<div> 
    <span>name</span> 
    <span>details</span> 
</div> 
</div> 

테이블의 CSS는 :

.table{ 
display:table; 
width:100%; 
} 
.table div{ 
text-align:right; 
display:table-row; 
border-collapse: separate; 
border-spacing: 0px; 
} 
.table div span:first-child { 
text-align:right; 
} 
.table div span { 
vertical-align:top; 
text-align:left; 
display:table-cell; 
padding:2px 10px; 
} 

그것이 두 열 균등 분할 로선 테이블 너비가 차지하는 공간 사이. 첫 번째 열을 그 셀을 차지하는 텍스트가 필요로하는 너비만큼만 가져 오려고합니다.

표는 알 수없는 너비이며 열/셀도 마찬가지입니다.

+1

'국경 collapse'와'국경 spacing'은 테이블 행에 테이블에 적용됩니다. 그것들을'.table' 규칙으로 옮겨야합니다. 주의 : 실제로 테이블을 사용하지 않는 특별한 이유가 있습니까? – RoToRa

+0

코드가 사이트 전체에 존재하며 일부 아약스를 통해 생성되므로 html 표를 사용하지 않습니다. 나는 아약스와 PHP가이 문제와 관련이 없으므로 간단하게 유지했다. – Mestore

+0

하지만 반드시 중첩 된 div와 범위를 생성하는 것은 trs 및 tds로 테이블을 생성하는 것과 다릅니다. AJAX를 통해 테이블을 출력하는 것보다 (CSS 테이블 문제를 다루는) 방법이 더 쉽습니다. – Simon

답변

10

1px과 같이 작은 너비 만 지정하십시오. 표 셀은 항상 내용에 맞게 가능한 가장 작은 크기로 확장됩니다.

+0

이것은 이미 시도되었으며, 폭이 가장 긴 단어만큼 넓어졌습니다. 셀의 단어가 3-5 개이면 브라우저는 최대한 셀을 감싸서 가능한 한 셀을 좁게 유지합니다. – Mestore

+1

공백 추가 = "nowrap" –

+3

다음으로 'white-space : nowrap'을 추가하여 줄 바꿈을 중지해야합니다. – RoToRa

-1

여러분은 클래스 이름 "table"을 다른 것으로 변경해야합니다. "table"은 div보다 일부 테이블의 클래스임을 제안합니다.

시도

<div class='table'> 
<div> 
    <span style="width:30%">name</span> 
    <span>details</span> 
</div> 
</div> 
2

당신은 테이블 내에서 최초의 사업부를 발견하고 그것을 가진 별도의를 제공하기 위해 첫째 아이 선택기를 사용할 수 있습니다 다음과 같습니다.

.table div:first-child 
{ 
    width:30%; 
} 
1

나는 당신이 그 행에 의해 다른 경우가 텍스트의 크기로 얻을 수 있다는 것을 알고하지 않습니다하지만 당신은 폭 = "자동"또는 열에 대한 백분율 폭을 설정하는 시도 할 수 있습니다.

11

시도 ->table-layout: fixed

+0

당신은 전설입니다. 이로 인해 컨테이너에서 셀이 빠져 나가는 문제가 해결되었습니다. –

+0

생명의 은인! 감사! –

+0

어디에서 이걸 넣고 있습니까? – evolutionxbox

관련 문제