2012-12-30 2 views
0

레스토랑 메뉴를 만들 때 테이블을 사용할지 여부를 잘 모르겠습니다. 특히 중첩 테이블을 사용해야하는 경우에는 특히 그렇습니다. 이게 유효합니까? 식당 메뉴를 표 형식의 데이터로 간주 할 수 있다고 생각합니다.중첩 테이블 - 합법적입니까?

중첩 테이블을 사용하여 구조를 생성하는 것은 모든 브라우저에서 매우 편리하고 안정적이지만, 이것이 올바른 방법 일지는 모르겠습니다.

또한 http://jsbin.com/ejoqad/1/edit

<table> 
    <tr> 
     <td> 
     <table> 
      <tr> 
      <td>PIZZA</td> 
      </tr> 
      <tr> 
      <td>onions,cheese</td> 
      </tr> 
     </table> 
     </td> 
     <td>3.5 $</td> 

    </tr> 
    </table> 

이 structre 내가 다른 장치에 최적화 된 디자인을 할 때 나에게 길을 괴롭히는 일으킬 수있을 것입니다 : 여기처럼 보이는 무엇인가?

+0

레이아웃을 위해 HTML 테이블을 사용하면 안됩니다. 대신 목록 (예 :'ul')을 사용하는 것이 좋습니다 –

+0

정확하게 레이아웃이 아닙니다. – user1721135

+2

레이아웃 용 테이블을 사용하지 않는다면, 테이블이 다양한 장치에 어떻게 반응하는지. 여전히 테이블이어야합니다. – BoltClock

답변

2

확실히 유효하지만 행을 나누기 위해 전체 테이블 대신 <br />을 사용해야합니다.

+0

흠 좋은 지적입니다. 두 번째 테이블은 내가 추측 할 수 없을 수도 있습니다. – user1721135

0

HTML 5 specrowspan 속성을 사용하면 마크 업을 줄여도 동일한 효과를 얻을 수 있습니다.

기본적인 아이디어 <td> 요소가 정수 값으로 특성을 설정하여 (열의 행의 rowspancolspan을 사용하여) 다수의 행 또는 열을 확장 할 수 있다는 것이다. 따라서 <td rowspan="2">은 표의 두 행에 걸쳐있는 셀입니다.

이러한 특성은 HTML 3.2에 존재하므로 호환성이 매우 뛰어납니다 (문제없이 IE8로 다시 테스트 됨).

여기 참조를 위해 업데이트 된 jsbin의 : 메뉴가 너무 HTML 테이블을 사용하여 데이터의 테이블에 관계없이 레이아웃의 의미 올바른지처럼 http://jsbin.com/ejoqad/5/edit

0

그것은 보인다. 잘 했어. 그러나 두 개의 중첩 테이블을 사용해야하는 이유를 알지 못합니다.

0

HTML 표는 매트릭스처럼 표 형식의 데이터를 저장하기위한 것입니다.

아마도 메뉴가 목록일까요? 그러면 uls를 사용할 수 있습니다. 테이블보다 레이아웃 스타일을 더 유연하게 적용 할 수 있습니다.

당신의 의도가 순수하게 존재하는 테이블 형식의 데이터이며 레이아웃의 수단이없는 경우는, 그것을 나중에 레이아웃하려고 : P

당신이 레이아웃 컨테이너로 사용하는 어떤 의도가있는 경우에, 당신이있어 잘못된 생각. 레이아웃을 위해 테이블을 사용할 때 고려해야 할 상황은 다른 높이의 열과 같이 CSS를 사용하는 것이 번거롭거나 JS가없는 정적 인 높이/높이가있는 영역과 유연한 중간의 것을 원하는 경우에 있습니다.