2012-02-27 3 views
25

의 직접적인 아이에 CSS를 적용합니다. 이처럼어떻게이 <code>div</code>이 그 <code>div</code>에 내가 다른 클래스와 다른 <code>div</code>을 만들려면 및 내부 <code>div</code> 완전히 외부 <code>div</code> CSS 설정에서 분리가 특정 클래스

:

<div class="outer"> 
    <div><h1> h1 </h1><div> 
    <div class="inner"> 
     <h2> h2 </h2> 
    </div> 
    <h2> h2 </h2> 
</div> 
.outer h1{ color:blue; } 
.outer h2{ color:red; } 

.inner { height: 111px; } 

내가 원하는 것은 여기 색상을 검정으로 과체중하지 않는 것은 바보 보일 수있는 "inner" div

h2에서 붉은 색 설정을 해제하는 것입니다, 하지만 CSS에 더 많은 논쟁이 있거나 동적 인 경우에는 어떻게 될까요?

편집 : 분명하지는 않지만 실제로 필요한 대답은 내가 지금까지 가지고있는 답변의 반대입니다 메인 컨테이너 div가 있고 CSS에 많은 설정이 있습니다. 이제 main-container CSS 설정을 사용하지 않고 div를 기본 컨테이너에 삽입하려고합니다.

답변

40
.outer > h2 { color:red; } 

이렇게하면 외부 div의 직접 자식 만이 색상 값을 가져오고 작업을 수정해야합니다.

+0

나중에 분명하지 않다고 생각합니다. 하지만 내가 필요한 것은 실제로 그 반대의 종류입니다. 나는'main-container div'를 가지고 있으며'css'에서 많은 설정을 가지고 있습니다. 이제'main-container' CSS 설정을 사용하지 않고'main-container'에'div'를 삽입하고 싶습니다. –

+0

몇 가지 접근법이 있습니다. 하나는'.inner h2 {...} '에''color' '를 지정하는 것입니다. 이것은 메인 컨트롤러 div 안에있는 다른 모든 h2를 동일하게하고 내면의 것만 다를뿐입니다. 또 다른 방법은 마지막 h2 클래스에 클래스를 지정하고 다른 색상을 지정하고 주 컨트롤러가 h2 스타일을 지정하지 않도록하는 것입니다. 이것은 inner의 h2와 다른 모든 h2가 같고, 다른 h2는 다른 스타일을 갖습니다. 예 : http://jsfiddle.net/5pvpdfud/ –

+1

[CSS3에는 4 가지 다른 결합자가 있습니다.] (http://www.w3schools.com/css/css_combinators.asp) 1. 자손 선택자 (공간) :' .outer h2' : 모든 자손 2. 자식 선택자 (>) :'.outer> h2' : 즉시 자식 3. 인접한 형제 선택자 (+) :'.outer + h2' : 같은 부모로부터 즉각 형제 자매 4. 일반적인 형제 선택기 (~) :'.outer ~ h2' : 같은 부모로부터의 모든 형제 – Abhijeet

0

나는 당신이 필요로하는

.inner h2 {color: inherit} 
+1

나중에 정확한 반의가 필요하다고 생각합니다. 전체 클래스에 대해 –

0
.outer .inner * { color: #000; } 

세트 색상 블랙을 필요로 내부 용기 내의 모든 요소라고 생각합니다.

Demo here

+0

그것은 훌륭한 해결책입니다. 그러나 20 가지 설정을 갖고 있다면 그렇지 않습니다. h1 태그 만? –

+0

이 코드는'.outer .inner'의 모든 것을 검은 색으로 설정합니다. 연결된 데모로 실행 ... 모든 태그가 변경됩니다. – Scott

관련 문제