2012-03-15 2 views
13

가능한 중복 :
Why selecting by ID is not recommended in CSS?CSS를 사용하여 스타일 ID를 사용하지 않아야하는 이유는 무엇입니까?

내가 CSS 스타일하지만 클래스를 대신 제공하기 위해 "ID"속성을 사용해서는 안 수많은 스레드와 기사를 읽어 봤는데.

클래스를 재사용 할 수 있다는 것을 알고 있지만, 그 클래스 만 사용하면 충분하지 않은 인수로 보일 수 없습니다. 결국, ID는 자바 스크립트에 필요하므로 어디서도 가지 않으므로 왜 활용하지 않겠습니까?

누군가 내 의견을 설명해 주시겠습니까?

+4

누가 그렇게 말했는지 말씀해 주시겠습니까? – m90

+1

처음에는 당신이 페이지에서 하나 이상의 요소에 대한 정의를 사용해야 할 때 처음에는 다소 엄격했습니다. 당신은 foobar입니다 ... – xandercoded

+2

[csslint] (http://csslint.net/)는 엄격합니다. ID 선택기를 사용합니다. – zzzzBov

답변

13

스타일링 ID는 DRY 원칙을 따르며 피해야하는 것이므로 의미가있는 경우 입니다. 단일 객체의 스타일을 지정해야하는 상황이 있으며 페이지의 다른 부분과 절대 공유되지 않는다는 것을 알고 있으므로 결코 스타일 ID는 부 자연스러운 것이 아닙니다. 유지 관리 위험을 알고있는 한 받아 들일 수있는 일을 끝내기 위해해야 ​​할 일.

+1

자바 스크립트로 DOM에서 요소를 선택할 때 ID가 좋습니다.이 작업에 익숙한 요소가 하나 있다는 것을 알고있을 때 - 일부 jQuery 슬라이더의 컨테이너처럼. – Tomasz

+0

동의하지만 이것은 JavaScript가 아닌 JavaScript에 관한 질문입니다. – JaredMcAteer

+2

이것이 답변이 아니라는 이유입니다.) – Tomasz

16

ID- 선택기를 사용하지 않는 특별한 이유는 없습니다. 읽은 모든 것을 믿지 마십시오.

즉, ID로 모든 것을 스타일링하는 경우 클래스의 이점을 잃어 버릴 수 있습니다.

3

스타일링은 id만으로도 문제가 없지만 일반적으로 클래스를 최대한 활용하려면 예외 용으로 사용해야합니다. 예를 들어 :

<div id="myid" class="box"></div> 
.box { 
    padding:1em; 
    border:1px solid #ccc; 
    color:#222; 
} 
#myid { 
    padding:2em; 
} 

당신이 id 주로 스타일링하는 경우, 당신이 중복 CSS를 작성하고 클래스의 장점이 충분히 캐스케이드을 복용하지 될 수 있습니다 제안합니다.

6

것은 당신이 아이디의 사용시기에 대한 엄지 손가락의 규칙을 찾고 있다면, 여기에 하나의 그 I 코드에 의해 :

ID의 : 같은 #top로 반복 결코

  • 탑 요소, , # 래퍼, #footer 등
  • 외부 스크립트 등으로 식별해야하는 항목.
  • <a name="anchor_name" id="anchor_name"><a> 상황. 올바른 코딩 방법은 앵커에게 ID를 제공하는 것입니다.
관련 문제