2011-09-10 1 views
0

사람들이 양식을 포맷하기 위해 더 이상 테이블을 사용하지 않는다는 이야기를 듣는 경우가 있습니다. 이것이 추세입니다. 왜 그리고 왜 안되나?테이블을 사용하여 양식을 만드는 것은 바보/구식으로 간주됩니까?

+1

중복 가능성 [HTML의 레이아웃에 테이블을 사용하지 왜?] (http://stackoverflow.com/questions/83073/why-not-use-tables-for-layout-in-html) – itsmatt

+0

@itsmatt : 나는 괜찮다고 생각합니다. 그것은 어느 쪽이든 사용될 수 있기 때문에 주제에 대해보다 구체적이고 좋은 질문입니다. – Nightfirecat

+0

Facebook의 "프로필 편집"양식이 테이블입니다 ... –

답변

8

의미 론적으로 테이블에는 표 형식의 데이터가 있어야합니다. 이 의미에서 테이블 태그 사용에는 아무런 문제가 없습니다.

사람들이 쉽게 레이아웃 때문에 레이아웃을 위해 테이블을 사용하기 시작하는 것이 잘못되었습니다. 페이지 레이아웃은 표 형식 데이터가 아니므로 의미 상으로는 테이블 태그에 있어서는 안됩니다.

당신도 할 수는 있지만 작동 할 수는 있지만 커스터드 감기도 먹을 수 있습니다. 아이디어는 그것을하는 것 이상으로 올바르게하는 것에 관한 것입니다. 이상적인 세계에서는


, 당신은 <fieldset>의, <label>들과 다른 형태의 관련 태그를 사용하여 양식을 생성 할 수 있습니다.

<label for="usernameID">Username:</label> <input type="text" name="username" id="usernameID" /> 

그런 다음 당신은 라벨과 입력 스타일을 지정할 수 있습니다, 당신은 당신의 HTML에는 보풀이 없습니다.

실제로는 <div> 초와 <span> 초로 줄 바꿈 될 것입니다. 다만 그 부분을 계속 지키고 상단으로 이동하지 마십시오. "실제로이 양식에 비 형식 태그가 많이 있습니다"라고 생각한다면 아마도 더 좋은 방법 일 것입니다.

+0

그렇다면 양식을 만들 때 테이블을 똑같이 보이게하려면 무엇을 사용합니까? 나는 그것이 내 가장 중요한 관심사라고 생각한다. – adit

+0

웃기는 중, 나는 이것에 대한 답을 편집하는 중반이었고, 그 때 "Nah, leave it"라고 생각했다. 2s, 편집으로 돌아갑니다. – Joe

0

이 아닌 테이블에 대해서는을 사용하는 것이 일반적으로 부적절합니다. 이것은 주로 표가 스프레드 시트에 일반적으로 포함되지 않는 의미의 의미를주지 않기 때문입니다.

특히 양식에 익숙한 경우 테이블을 사용하여 서식을 지정하는 것이 쉽지만 실제로 입력하는 데이터를보다 잘 설명하는 다른 용도로 사용하는 것이 좋습니다.

3

몇 가지 이유 :

  • 마크 업을 의미해야한다. 즉, 마크 업에 포함 된 요소가 콘텐츠에 의미있는 내용을 말해야합니다. 단락은 <p> 태그에 있어야하며 <h1>에서 <h6> 등으로 표기해야합니다. 반면에 <td> 태그는 의미가 없습니다 (예 : <label>). 반면에 원소의 주기율표를 작성하는 경우 <td> 태그가 매우 적합합니다.

    HTML 5는 계속해서 이러한 트렌드를 강화합니다. 이제 마크 업과 콘텐츠 간의 연결을 더욱 단단하게 만들기 위해 <nav><section>과 같은 새로운 요소를 얻게되었습니다.

  • 테이블은 스타일을 유지하고 유지하기가 쉽지 않습니다. <input><label> 안에 있고 내부에 의 내부에 <table>이있는 경우, 그게 중첩 된 요소입니다. 누가 그걸 처리하려고합니까? 겹치기를 최소한으로 유지하면 CSS의 복잡성이 줄어들고 마크 업을 읽기가 쉬워집니다.

관련 문제