2013-08-15 3 views
3

<heading level="1">과 같은 구문을 사용하는 대신 h1에서 h6까지 다른 태그가 HTML로 된 이유는 무엇입니까? 나는 결정 뒤에있는 역사를 아는 데 관심이있을 것이다. (공통리스트가 아닌 olul).HTML에서 h1-h6의 태그 이름이 다른 이유는 무엇입니까?

지금까지 연구 한 결과 아무 것도 밝혀지지 않았습니다. W3C Spec은 실제로 이들을 모두 "제목"으로 그룹화하여 함께 설명합니다. 누군가가 Stack Overflow once before과 비슷한 질문을 던졌지 만,이 토론은 의미론의 가치에 관한 것이지 특정 언어 디자인 선택에 대한 논리가 아닙니다.

EDIT : 나는 SEO가 다른 것과 관련되어 있는지 묻지 않고 HTML 작성자가 자신이 수행 한 구문을 선택한 이유에 대한 답변을 찾고 있습니다.

EDIT 2 :이 질문은 많은 의견을 이끌어 낼 수 있지만 사실적 대답이 있으며, 아래의 의견에서 Jukka가 발견했습니다. http://infomesh.net/html/history/early/. 나는이 토론의 의견 부분이 HTML이 처음 만들어 졌을 때 있었고 토론을 재촉하기보다는 그것을 찾고 있다고 생각했습니다.

+0

질문은 역사적 배경에 관한 것이므로 주로 의견을 기반으로 생각하지 않습니다. 대답은 HTML 저작이나 어떤 종류의 프로그래밍에도 실제적인 영향을 미치지 않기 때문에 너무 이론적 인 것으로 간주 될 수 있습니다. –

+1

'h1'에서'h6' 태그는 SGMLguid에서 가져 왔습니다. http://infomesh.net/html/history/early/ –

답변

7

<heading level="1">과 같은 구문을 사용하는 대신 h1에서 h6까지 HTML의 태그가 다른 이유는 무엇입니까?

Because that's how they were originally defined in 1993

:

Headings 

    Six levels of heading are supported. (Note that a hypertext node 
    within a hypertext work tends to need less levels of heading than 
    a work whose only structure is given by the nesting of headings.) 

    A heading element implies all the font changes, paragraph breaks 
    before and after, and white space (for example) necessary to render 
    the heading. Further character emphasis or paragraph marks are not 
    required in HTML. 

    H1 is the highest level of heading, and is recommended for the 
    start of a hypertext node. It is suggested that the the text of 
    the first heading be suitable for a reader who is already browsing 
    in related information, in contrast to the title tag which should 
    identify the node in a wider context. 

    The heading elements are 

       <H1>, <H2>, <H3>, <H4>, <H5>, <H6>

또한 원래의 HTML 사양에서 최소한의 속성 사용이 있다는 것을 깨달아야한다. 각 요소는 작성하기 쉽고 읽기 쉽도록 강조하여 문서를 마크 업하는 특정 목적을 수행했습니다. 나는 단지 <heading> 라인의 태그가 너무 길어서 페이지 내용에 방해가 될 수 있으므로 플랫 아웃이 거부되었을 것이라고 가정 할 수 있습니다.

사용법은 외부 스타일 시트의 개념보다 먼저 나오므로 선택기는 명명 규칙 결정에 어떤 역할도 할 수 없습니다.

요소가 정의되면 이전 버전과의 호환성 문제가 있으므로 이름을 바꿀 이유가 없습니다.

+1

너무 작을 수 있기 때문에 편집을 제안하지는 않겠지 만 코드 블록 바로 앞에 게시물에''을 쓰면 구문 하이 라이터를 알려줍니다. (http://stackoverflow.com/editing-help#syntax-highlighting) 하이라이트 없음. – doppelgreener

+1

실제로, TimBL은 "CERN SGML 가이드에 정의 된대로 ... 그 정의는 완전히 역사적이며 AAP 태그 세트에서 파생됩니다." 이 [1992 년 문서] (http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html) – Alohci

+0

@Alohci, 정말 좋은 정보입니다. 이 답변을 언제든지 업데이트하십시오. – zzzzBov

1

첫 번째 설명은 CSS로 쉽게 사용자 정의 할 수있는 기본 태그 세트를 제공한다는 것입니다. 그렇지 않은 경우 언급 한 level 특성 외에도 class 특성을 사용하여 여러 수준의 머리글을 사용자 지정해야합니다.

이렇게하면 기본 CSS 속성이 포함 된 태그가 하나 있습니다. 맞춤 설정하려면 태그로 헤더 만 언급하면됩니다.

EDIT 또한 내가 링크 한 게시물에는 또 다른 좋은 이유가 있습니다. 전용 헤더 태그로 인해 SEO가 쉬워졌습니다. 검색 엔진이 특성을 해석하는 것보다 특정 태그의 존재를 찾는 것이 더 쉬울 것이라고 생각합니다.

하위 편집 : SEO가 W3C와 중요한 관계가 있다면 (그렇다고 확신 할 경우 meta 태그를 지원하지 않는다면) 의도적으로 변경 사항을 적용하지 않을 것입니다. 검색 엔진의 기능이 덜 효율적입니다. 따라서 SEO에 관심이 있다면 구문에 대한 결정에 영향을 줄 것으로 기대됩니다.

+0

CSS에서는 임의의 속성과 일치 할 수 있기 때문에 사실이 아닙니다. 따라서 레벨 1 헤더의 스타일은'heading [level = "1"]'이 될 것입니다. h1, h2, h3, h4, h5, h6보다 머리글이 더 짧습니다. – ehdv

+5

@ehdv, heading [level = "1"]'이 더 높습니다. h1-h6 '엘리먼트가 * CSS 이전에 존재했다. – zzzzBov

+0

CSS를 태그와 똑바로 매치시킬 수 있다면, 태그를 일치시키는 것보다 훨씬 빠르고 깔끔합니다. – Stspurg