2011-07-27 4 views
1

에>와 ID와 클래스를 혼합하는 방법이 있나요. 해당 div에있는 경우에만 클래스를 변경하려고합니다.내가하고 싶은 것은 같은 것입니다 CSS

그 같은 일을하는 다른 방법이 있습니까?

+0

시도해 보셨습니까? – You

+0

예 이렇게 할 수 있습니다 – diEcho

+0

어쩌면 이것은 특정 브라우저에서만 작동합니까? –

답변

1

당신 내부 클래스의 한 인스턴스의 경우 이미 대답 자신을 우연히 발견했습니다 '.는 #div_id직접 자손 인 경우

#div_id > .class { 
    /* CSS magic */ 
} 

.class 선택에 관계없이 깊이의 모든 자손를 들어, 선택 #div_id .class 대신 사용

.

도 참조하십시오. this JSFiddle.

+0

솔직히 나는 왜 사람들이 "직접적인 아이"라고 말할 필요가 있는지 알지 못합니다. "직접적인"이라는 단어는 꽤 많이 함축되어 있습니다. – BoltClock

+0

@BoltClock : 참. "자식"을 "자손"으로 바꿨습니다. 이것은 내가 어쨌든 정말로 의미했던 것입니다. – You

1

귀하의 질문은 이미 child combinator CSS 선택기를 포함하고 클래스 아이들 ID div_id를 가진 요소의.some_class와 요소를 목표로 할 것이다, 그래서 당신은 다음 div_id의 ID로 하나의 <div>이 경우 것 some_class 클래스의 자식 요소를 대상으로 지정하십시오. 따라서 이미 예상대로 작동해야합니다. 물론 IE6에서는 셀렉터를 기본적으로 지원하지 않습니다.

손자를 선택하려면 descendant combinator을 사용하십시오.

  • 아동 콤비 body > p
  • 후손의 콤비 body p
0

당신은 기본적으로 거기에 답이있다. div에서 모든 클래스를 수정하려는 경우 선택자는 div#id .this_class이됩니다. 그것은 div (당신이 가진 'test_class'의 클래스와 세 div들과 함께 '테스트'라는 div 다음 당신은 :nth-child() 선택 또는 :first-of-type 선택기를 사용할 수 있습니다 중 하나를 말한다.

0

코드가 괜찮습니다. > 연산자는 하위 하위 항목 (예 : 손자)이 아닌 DIV의 하위 항목에만 영향을 미칩니다. 클래스 .some_class를 사용하여 DIV 내부의 모든 것에 영향을 주려면>를 제거하십시오.

관련 문제