2012-06-21 4 views
15

가능한 중복 :
Which is more correct: <h1><a>..</a></h1> OR <a><h1>..</h1></a>
Semantically, which is more correct: a in h2, or h2 in a?링크 내부 헤더 또는 HTML 마크 업 내부 헤더 내부 링크?

이 HTML에 대한 간단한 질문입니다. 헤더, 단락 또는 다른 HTML 요소에 링크를 삽입하는 것이 가장 좋고/좋은 방법은 무엇입니까?

이 방법 :

<h2><a href="">Some Title</a></h2>

또는 이러한 방법 : <a href=""><h2>Some Title</h2></a>

답변

18

더 나은는

<h2><a href="">Some Title</a></h2> 

입니다.

2

내가 두 번째 선호 :

<a href=""><h2>Some Title</h2></a> 

당신은 예를 경우에보다 효율적으로 제어 할 수 있기 때문에 너는하고 싶다. 같이 보내고 : h 디스플레이 블록 요소이며 a 요소에 block을하는 것이 좋습니다되지 않기 때문에

<a href=""><h2>Some Title</h2> <h1>biggest</h1></a> 
5

참고 : HTML4에서는 링크 안에 헤더를 넣을 수 없습니다.

HTML5에서는 효과 및 의미 의미에 따라 다릅니다. 전체 머리글을 링크 안에 넣으면 클릭 가능 영역이 전체 너비에 걸쳐 지지만 머리글 내부에 링크를 넣으면 텍스트 만 클릭 할 수 있습니다. 전에 두 버전을 모두 사용했지만 완전히 헤더를 넣는 위치에 따라 다릅니다.

0
<h1><a href="#">text here</a></h1> 

올바른지, HTML은 인라인 요소() (src) 내의 블록 요소()를 허용하지 않습니다. 두 번째 예제는 유효성 검사에 실패합니다.

일반적으로 블록 수준 요소에는 인라인 요소 및 기타 블록 수준 요소가 포함될 수 있습니다. 일반적으로 인라인 요소에는 데이터 및 기타 인라인 요소 만 포함될 수 있습니다. 이 구조적 구별은 블록 요소가 인라인 요소보다 "더 큰"구조를 만듭니다.

난 그냥 다른 질문에서이 복사

...

2

기술적으로 말하면, <a> 인라인 요소이며, <h2> 그래서 블록 레벨 요소입니다 :

<h2><a href="">Some Title</a></h2> 

하는 것은 올바른 중첩입니다 .

그런데 브라우저는 입니다. 일반적으로은 잘못된 중첩을 무시하고 사용자가 원하는대로 할 수 있도록합니다.

저도 표준 준수 모드 또는 쿼크 모드에서 내 페이지를 실행하도록 선택한 브라우저에 대해서는 싫어합니다. 올바른 중첩을 선택하겠습니다.