2011-07-17 2 views
4

필자는 html/css를 배우기 시작했으며 학습 전반에 걸쳐 크게 강조되는 의미 체계에 대한 아이디어를 보았습니다. 대부분의 시간 동안 나는 내가 사용해야 할 것을 이해하고 모든 것이 잘 작동한다.내 사이트의 마스터 헤더에 이러한 HTML5 태그가 모두 필요합니까?

<section id="masterHeader"> 
    <header> 
     <nav> 
      <ul> 
       <li><a href="#"> link </a></li> 
      </ul> 
     </nav> 
    </header> 
</section> 
:

는 의미 나는이 얻을, 나는 탐색에 대한 몇 가지 링크와 함께 내 사이트에 마스터 헤더가 있다고 가정 간단한 뭔가 너무 많은 태그가있는 것처럼 예를 들어, 느낌 그러나 많은 시간이있다

너무 많습니까? 그렇지 않으면 제대로 작동합니까? 그것은 불필요한 많은 태그처럼 보인다.

+0

왜 헤더를 섹션으로 포장합니까? 머리글은 전문 분야 일 뿐이므로 이런 방식으로 사용해야합니다. 이 점을 제외하고 마크 업은 나에게 잘 보입니다. – Jay

+0

http://dev.w3.org/html5/html-author/#the-header-element는 섹션에 있어야하는 것처럼 들리거나 아니면 섹션을 컨테이너로 사용하고 있어야합니다. 컨테이너 내의 헤더? – valon

답변

3

섹션 태그 내에 헤더 태그가 필요하지 않은 것 같습니다. 대신 다음과 같이 표시되어야합니다.

<header id="masterHeader"> 
    <nav> 
     <ul> 
      <li><a href="#"></a></li> 
     </ul> 
    <nav> 
</header> 
+0

주제와 관련없는 주제 : body 또는 content의 모든 내용에 컨테이너 (래퍼)를 사용하려면 어떻게해야합니까? section 또는 div를 사용해야합니까? – valon

+0

w3c에서 다음과 같이 정의했습니다. "

태그는 장, 머리글, 바닥 글 또는 문서의 다른 섹션과 같이 문서의 섹션을 정의합니다." 이 경우 머리글과 바닥 글 태그가 이미있는 경우에는 섹션 태그가 해당 태그를 보유하기위한 목적 일 가능성이 매우 낮습니다. 이 기사는 http : // www.impressionivewebs.com/html5-section/ - 대신 섹션 태그를 사용해야하는 방법에 대해 알아보십시오. 그런 식으로, 나는 대신 div 래퍼를 사용하는 것이 좋습니다 것입니다. 도움이 되길 =) – vynx

+0

편집 : 편집을 읽으세요. 고맙습니다. 지금은 더 의미가 있습니다! – valon

5

페이지를 의미 적으로 디자인하는 목적은 디자이너가 읽는 것이 더 쉬울뿐만 아니라 (좋은 이점도 있지만) 더 가벼워서 (종종 그렇지 않다는 이유) 때문이 아닙니다. 오히려 의미 론적 디자인의 목적은 ID와 클래스가있는 div를 단순히 만들 수 없다는 의미를 코드에 추가하는 것입니다. 사용자의 사이트를 크롤링하는 검색 엔진은 의미 론적으로 마크 업 될 때 코드를 훨씬 잘 이해할 수 있습니다.

문제는 IE8 이하가 기본적으로 이러한 의미 요소를 지원하지 않으므로 js shiv가 필요하다는 것입니다. 하지만 레이아웃이 IE8에서 중단되고 JS가 사용 중지 된 경우 낮아집니다. 레이아웃이 IE8-6에서 no-js로 중단 될 때 HTML5 요소 사용을 고려하기 전에 심각하게 고려해야 할 단점이 있습니다.

또한 section 요소가 의미 론적으로 올바르지 않다고 여기 시겠지만 여기서는 사용법이 정확하지 않습니다.하지만 틀릴 수도 있습니다. w3c 사양을 확인해야합니다. 그러나 그것은 여기도없고 거기에 없으며, 대부분은 단지 따기입니다.

+0

헤더가 페이지의 섹션이 아니겠습니까? 그래서 내가 거기에 섹션을 가지고 있습니다. – valon

+0

http://www.w3.org/wiki/HTML/Elements/section : "섹션 요소는 일반 컨테이너 요소가 아니며, 내용이 문서 개요에 명시 적으로 나열된 경우에만 적절합니다." 귀하의 경우 섹션 요소는 페이지의 머리글 섹션에 대한 컨테이너로만 사용됩니다. 그러나 페이지를 해부하면 바닥 글과 컨테이너가 섹션이고 그 다음 컨테이너 내의 하위 섹션도 섹션이라는 것을 의미합니다. 대신 섹션은 책의 장이나 인트로, 아웃트로 및 본문 텍스트와 같은 주제별 콘텐츠를 그룹화하는 데 사용해야합니다. – Moses

+0

@ 모세 (Moses) - 대개 철자가 "shim"이지만 철자를 사용하고 싶습니다. IE :-) –

관련 문제