작동하지 않는 것 같아서 내가하는 일 외에 다른 일을 할 수 있습니까? 클래스 아래에있는 하위 클래스를 사용하여 해당 class.subclass에 대해 특별히 CSS를 사용할 수 있기를 원합니다.
CSS
.area1
{
border:1px solid black;
}
.area1.item
{
color:red;
}
.area2
{
border:1px solid blue;
}
.area2.item
{
color:blue;
}
HTML
<div class="area1">
<table>
<tr>
<td class="item">Text Text Text</td>
<td class="item">Text Text Text</td>
</tr>
</table>
</div>
<div class="area2">
<table>
<tr>
<td class="item">Text Text Text</td>
<td class="item">Text Text Text</td>
</tr>
</table>
</div>
그래서 부모 css 클래스 “area1”, “area2″아래의 요소에 대해 class = “item”을 사용할 수 있습니다. class = “area1 item”을 사용하여이 작업을 수행 할 수 있다는 것을 알고 있지만 왜 그렇게 장황해야하는지 이해할 수 없습니다. CSS 하위 클래스가 정의하기 위해 어떤 부모 클래스 아래에 있는지 살펴보아야하지 않습니까?
참고 : 이것은 IE (현재 7 사용)에서 작동하지만 FF에서는 작동하지 않으므로 이것이 CSS 표준 방식이 아니라고 가정합니다.
답변
공백을 추가하면됩니다.
.area2 .item
{
...
}
답변
참고로, 위와 같이 두 개의 선택기가 함께 연결된 규칙을 정의 할 때 :
.area1.item
{
color:red;
}
그 뜻은:
“area1″및 “item”클래스가 모두있는 모든 요소에이 스타일을 적용하십시오.
예 :
<div class="area1 item">
슬프게도 IE6에서는 작동하지 않지만 그것이 의미하는 바입니다.
답변
귀하의 문제는 CSS에서 두 클래스 사이에 누락 된 공간 인 것 같습니다.
.area1.item
{
color:red;
}
해야한다
.area1 .item
{
color:red;
}
답변
자녀 만 선택하도록 하시겠습니까? http://css.maxdesign.com.au/selectutorial/selectors_child.htm
.area1
{
border:1px solid black;
}
.area1>.item
{
color:red;
}
.area2
{
border:1px solid blue;
}
.area2>.item
{
color:blue;
}
답변
.area1과 .item 사이에 공백을 넣으십시오. 예 :
.area1 .item
{
color:red;
}
이 스타일은 area1 클래스가있는 요소 내의 클래스 항목이있는 요소에 적용됩니다.
답변
답변
위의 kR105의 답변에 이어 :
내 문제는 OP (Original Poster)와 비슷하고 테이블 외부에서만 발생했기 때문에 하위 클래스는 상위 클래스 (테이블) 범위 내에서 호출되지 않고 외부에서 호출되었으므로 선택자를 추가해야했습니다. , kR105가 언급했듯이.
문제는 다음과 같습니다. 각각 테두리 반경 (HTML5), 패딩 및 여백이 동일한 두 개의 상자 (div)가 있지만 서로 다른 색상을 만들어야했습니다. 각 색상 클래스에 대해이 3 개의 매개 변수를 반복하는 대신 “슈퍼 클래스”에 border-radius / padding / margin을 포함하고 그 차이를 표현하기 위해 개별 “하위 클래스”만 원했습니다 (실제로 하위 클래스가 아니므로 각 주위에 큰 따옴표를 사용합니다.- 나중에 내 게시물 참조). 작동 방식은 다음과 같습니다.
HTML :
<body>
<div class="box box1"> Hello my color is RED </div>
<div class="box box2"> Hello my color is BLUE </div>
</body>
CSS :
div.box {border-radius:20px 20px 20px 20px; padding:10px; margin:10px}
div.box1 {border:3px solid red; color:red}
div.box2 {border:3px solid blue; color:blue}
누군가 이것이 도움이되기를 바랍니다.