을 제한 할 필요가 나는 다음과 같은 HTML이 : 여기나는 CSS 스타일의 계단식에게
<div class="canvas red">
<div>
<div class="canvas blue">
<div>
has blue border
<div class="canvas red">
...
<div>
MUST HAVE RED BORDER
</div>
</div>
</div>
</div>
</div>
</div>
및 CSS 코드입니다 :
div.canvas div {
border-style: solid;
border-width: 1px;
}
div.canvas.red div {
border-width: 4px;
border-color: red;
}
div.canvas.blue div {
border-color: blue;
}
문제는 3입니다
가장 안쪽에있는
div.canvas.red div
은 내부에 있기 때문에blue
경계를받습니다. 가장 내부의div.canvas.red div
이div.canvas.blue
에 의해 왜곡되지 않도록이 CSS 상속을 중단해야합니다.동적으로 웹 페이지에 구성 요소를 삽입하기 때문에 div 위의 중첩을 제어 할 수 없습니다. 내가 처리해야하는 다양한 중첩 시나리오가있을 수 있습니다. 대신
canvas_red
및canvas_blue
같은 다른 클래스를 필요없이, 별도의 클래스 이름 인canvas
및red
/blue
등처럼 -은 내가 CSS 구조가 적용되는 방식을 변경하지 않아야합니다.
나는 그러므로 내 CSS에 >
토큰을 사용할 수 있습니다, IE6를 지원하지 않을 계획. 그러나 제대로 활용할 수 없었습니다. 내가 더 적절하게 그것을 사용하여 내 코드를 변경하면 나는 apreciate거야.
CSS 상속을 중지 할 수 없습니다. 그러나 그것을 무시할 수 있습니다. ! important를 사용하는 것이 한 가지 방법입니다. – Jawad
@ 자 와드 : 그건 말도 안돼. 재정의와 상속은 완전히 다른 두 가지입니다. – BoltClock
@ Jared Farrish :이 문제는 중첩 된 요소와 아무 관련이 없지만 코드가 변경되어 내 대답이 삭제 된 것을 알 수 있습니다. – BoltClock