2013-10-13 2 views
0

클래스의 첫 번째 집합 만 선택하고 CSS를 적용하는 방법을 알아 내려고합니다. 코드에서 CSS - 첫 번째 클래스 집합 만 선택하십시오.

I 클래스와 DIV 년대의 첫 번째 집합에 색상을 적용하기 위해 노력하고있어 아래 .item

<div class="field-items"> 
    <div class="item">This text should be red</div> 
    <div class="item">This text should be red</div> 
    <div class="field-items"> 
     <div class="item">This text should NOT be red</div> 
     <div class="item">This text should NOT be red</div> 
     <div class="item">This text should NOT be red</div> 
     <div class="item">This text should NOT be red</div> 
    </div> 
    <div class="item">This text should be red</div> 
    <div class="item">This text should be red</div> 
</div> 

문제는 .item DIV 년대의 두 번째 세트는 점이다 또한 색깔을 얻는 : 빨강; css. nth-child, : nth-of-type,>, + 등의 셀렉터를 가지고 놀았지만 어떻게해야하는지 알 수 없습니다.

제가 지금 생각해 볼 수있는 가장 좋은 점은 두 번째 세트의 CSS를 무시하는 것입니다.

.item { 
    color: #cc3333;  
} 
.item .item { 
    color: #000; 
} 

도움을 주시면 감사하겠습니다.

+0

를 추가하지 않고 CSS입니다'.item'이 내부의 어느 것과도 일치하지 않을 .item'내부'.field-items' 실제로 아이이기 때문에 당신이 .item's 외부 '.field-items' 중 하나입니다. 아마도'.field-items .field-items .item'을 의미했을 것입니다. – BoltClock

답변

5

최상위 레벨 .field-items의 상위 요소를 찾아서 > 결합 자와 함께 선택기에 연결해야합니다. 예를 들어 부모 요소는 .parent 경우 : 당신은 또한 .field-items.item 자녀가 둘 .field-items, 중첩이 있기 때문에

.parent > .field-items > .item { 
    color: #cc3333; 
} 

혼자 .field-items > .item 사용이 충분하지 않습니다. 여기

+0

이것은 트릭을 만들었습니다. 나는 부모 선택기 ... 바보 같은 것을 잊어 버렸습니다. 도와 줘서 고마워, 고마워. – Jrn

0

클래스

.field-items:first-child > .item{color:red;} 
+0

이것은 바깥 쪽'.field-items'이 첫 번째 자식이고 내부 자식은 첫 번째 자식이 아니라고 가정합니다. "첫 번째 자녀"는 가장 바깥 쪽의 요소를 의미하지 않는다는 점에 유의하십시오. – BoltClock

+0

현재 HTML 구조의 코드입니다. – David

관련 문제