2011-08-24 6 views
1

방법처럼 #test을 선언하는 다른 div#test를 선언한다 원래CSS에 ID가있는 HTML 선택기를 선언하는 이유가 있습니까?

의 버전을 편집? 나는 다음과 같은 스타일 div#test를 선언한다면 또한 내가 같은 스타일 시트에 모두를 선언 할 수 있습니다 즉

#div test { 

} 

#test { 

} 

원래의 질문에

방법 test 예를 들어, ID를 가진 div 요소를 참조하는 해당 다르다

가 무슨 뜻인지 명확히 <div id="test">content</div>

편집 방법 단지 #test 다음 div 요소를 참조하는 다른 div#test 것입니다.

+0

정확히 무엇이 문제입니까? 하나는 CSS 셀렉터이고 하나는 HTML 스 니펫입니다. –

+0

질문이 없습니다. 문장의 첫 부분은 CSS에서 이러한 div를 참조하는 방법을 설명하고 두 번째 부분은 div 자체의 HTML입니다. –

+0

@Chris Farmer - 내 질문을 편집하여 이해하고자하는 바를 명확히 밝히기를 바랍니다. – PeanutsMonkey

답변

4

모든 페이지에 대해 전역 CSS가 있고 한 페이지에 #test를 div 요소에 추가하고 다른 페이지에는 p를 추가하면 의미가 있습니다. 이 경우 p에 id #test가 있어도 div # test가 #test 대신 사용되면 css 규칙이 적용되지 않습니다.

하지만 충돌하는 요소의 이름을 바꾸는 것이 좋습니다.하지만 항상 가능하지는 않습니다 (예 : html 및 css 또는 일부 외부 플러그인을 사용하는 경우 만 해당). 물론 좋은 보호는 아니지만 특정 경우에는 의미가 있습니다. 당신이 당신의 CSS에서 DIV 번호 테스트를 사용하는 경우 당신은 그냥 #test했던 것처럼

+0

그렇다면'div # test'를 선언하면'test'라는 ID를 가지고'p'를 지정해도'div' 요소에만 적용될 것입니까? – PeanutsMonkey

+0

또한 CSS 스타일 시트에서'div # test'와'# test' 선언을 할 수 있다는 것을 의미합니까? – PeanutsMonkey

+0

+1 흥미로운 관찰과 그러한 기술 사용에 대한 경고. –

1

id는 고유하지 않아야합니다. 외부 스타일 시트에서는 독자가이 요소에 적용되는 요소의 유형을 알 수 있습니다.

+0

이 예제에서이 요소에 'test'라는 id가 있으면 참조하는 요소의 유형이 중요한 이유는 무엇입니까? – PeanutsMonkey

1

, 그것이 사업부에 속한 이름 테스트 어떤 ID, 찾을 것이다, 그것은 다른에 적용 할 수 요소. 또한 선택 항목에 특정 기능을 추가하여 코드를 검토하는 사람들이 귀하가 언급 한 내용을 정확히 알고 있음을 잠재적으로 도울 수 있습니다.

예.

#test { margin-top: 10px; } 

<ul id="test"> 
    <li><a href="#">LinkyLink</a></li> 
</ul> 

div#test { background: blue; } 

<div id="test"> 
    <p>This is jargan!</p> 
</div> 

희망 사항.

관련 문제