2013-10-11 3 views
1

어제 친구가 자신의 수업에서 만난 이상한 문제를 알게되었습니다. 그는 피라미드 모양의 테이블을 만들 수 없었습니다 (내 jsfiddle 링크에서 볼 수 있듯이).
나는 HTML 테이블을 많이 다뤄 본 적이 없지만,이 프로그램이 바보 같다고 생각했습니다. 내가 자신을 HTML을 작성하려고 할 때, 나는 그것보다 더했다 보았다 ...HTML 피라미드 형 테이블

이 내가하려고했던 것입니다 : http://jsfiddle.net/5aDkL/

<table border="1"> 
    <tr> 
     <td colspan="1">A</td> 
     <td colspan="1">B</td> 
     <td colspan="2">C</td> 
     <td colspan="1">D</td> 
     <td colspan="1">E</td> 
    </tr> 
    <tr> 
     <td colspan="1">F</td> 
     <td colspan="2">G</td> 
     <td colspan="2">H</td> 
     <td colspan="1">I</td> 
    </tr> 
     <tr> 
     <td colspan="2">J</td> 
     <td colspan="2">K</td> 
     <td colspan="2">L</td> 
    </tr> 
</table> 

당신이 볼 수 있듯이, 테이블하지 않습니다 기대했던 것처럼 보이십시오 (이미 알지 못한다면). http://jsfiddle.net/SzWHX/

<table border="1"> 
    <col> 
    <col> 
    <col> 
    <col> 
    <col> 
    <col> 
    <tr> 
     <td colspan="1">A</td> 
     <td colspan="1">B</td> 
     <td colspan="2">C</td> 
     <td colspan="1">D</td> 
     <td colspan="1">E</td> 
    </tr> 
    <tr> 
     <td colspan="1">F</td> 
     <td colspan="2">G</td> 
     <td colspan="2">H</td> 
     <td colspan="1">I</td> 
    </tr> 
     <tr> 
     <td colspan="2">J</td> 
     <td colspan="2">K</td> 
     <td colspan="2">L</td> 
    </tr> 
</table> 

하지만 궁금 해서요,이 코드에 더 나은 방법이있다 :
그래서 일부 웹 검색 후에, 나는 (CSS의 한 줄) 잘 작동 다음, 함께했다? 그 빈 col 요소는 바로 바보처럼 보인다.
누군가가 나를 계몽 할 수 있다면, 그렇게 많이 감사 할 것입니다.

답변

1

현재 더 간단한 방법은 없습니다. 이것은 col 요소가 실제로 필요한 경우 (의도 한 스타일링의 경우)의 좋은 예입니다. 그 이유는 CSS 셀의 세 번째 열과 네 번째 열을 참조 할 방법이 없기 때문입니다. 테이블 셀이 그런 열의 슬롯 하나만 차지하기 때문입니다.

가상 클래스 인 :nth-column()은 가상 클래스가 col 요소없이 스타일링을 수행 할 수있게 해주지 만 실제로 진행 중이며 계획 중입니다 (CSS Selectors Level 4). "피라미드"정말 추한 보이는

+0

. 어쨌든 고마워. 난 그냥 식민지에서 6 열이 있어야하므로 분명 그런 것 같아 불필요한 것 같습니다 ... – stranac

+0

예, 브라우저는 6 열이 있다는 것을 계산할 수 있습니다. 그러나'col' 요소가 없다면 열을 참조하는 CSS selector가 없습니다. –

2

:

OP's Pyramid

당신이 국경없이 테이블을 볼 때 특히 명백한 :

OP's Pyarmid without borders

더 나은 타협을 추가하지 않을까요 필요한 빈 (&nbsp;) 셀 간격이 맞도록하려면? 모든 열을 20px 너비로 설정 했으므로 원하는 경우 아래 예제에서 col을 사용하지 않고 CSS로이 작업을 수행 할 수 있습니다.

Pyramid with extra empty cells

Pyramid with extra empty cells without borders

마지막으로 비교 : 내가 볼

enter image description here