다음은 내가 이해하지 못하는 예입니다.
.container_12 .grid_6,
.container_16 .grid_8 {
width: 460px;
}
width: 460px
위에서 언급 한 모든 수업에 적용되는 것 같습니다 . 그러나 일부 클래스는 쉼표 ( ,
) 로 구분 되고 일부는 공백 으로 구분되는 이유는 무엇입니까?
width: 460px
CSS 파일에 언급 된 방식으로 클래스를 결합하는 요소에만 적용 된다고 가정 합니다. 예를 들어에는 적용 <div class='container_12 grid_6'>
되지만 <div class='container_12'>
. 이 가정이 맞습니까?
답변
.container_12 .grid_6,
.container_16 .grid_8 {
width: 460px;
}
즉, “모든 .grid_6는 .container_12의 범위 내에서, 모든 .grid_8은 .container_16의 460 픽셀 너비 이내로 만드십시오.” 따라서 다음 두 가지 모두 동일하게 렌더링됩니다.
<div class="container_12">
<div class="grid_6">460px Wide</div>
</div>
<div class="container_16">
<div class="grid_8">460px Wide</div>
</div>
쉼표는 이와 같이 여러 클래스에 하나의 규칙을 적용합니다.
.blueCheese, .blueBike {
color:blue;
}
기능적으로 다음과 같습니다.
.blueCheese { color:blue }
.blueBike { color:blue }
그러나 장황함을 줄입니다.
답변
.container_12 .grid_6 { ... }
이 규칙은 class container_12
가있는 자손 (반드시 자식 일 필요는 없음)이있는 클래스와 DOM 노드를 일치시키고 grid_6
, class 가있는 DOM 요소에 CSS 규칙을 적용합니다 grid_6
.
.container_12 > .grid_6 { ... }
>
그들 사이에 두는 grid_6
것은 노드가 class가있는 노드의 직접적인 자식이어야 한다는 것을 의미합니다 container_12
.
.container_12, .grid_6 { ... }
다른 사람들이 말했듯이 쉼표는 한 번에 여러 노드에 규칙을 적용하는 방법입니다. 이 경우 규칙은 container_12
또는 클래스가있는 모든 노드에 적용됩니다 grid_6
.
답변
정확히 무엇을 요청했는지는 아니지만 아마도 이것이 도움이 될 것입니다.
두 클래스가 모두있는 경우에만 요소에 스타일을 적용하려면 선택기가 클래스 이름 사이에 공백을 사용하지 않아야합니다.
예를 들면 :
.class1.class2 { color: #f00; }
.class1 .class2 { color: #0f0; }
.class1, .class2 { font-weight: bold; }
<div class='class1 class2'>Bold Red Text</div>
<div class='class1'>Bold Text (not red)</div>
<div class='class1'><div class='class2'>Bold Green Text</div></div>
답변
쉼표 는 클래스를 그룹화합니다 (모두 동일한 스타일 적용) . 빈 공간 은 다음 선택자가 첫 번째 선택자 내에 있어야 함을 나타냅니다.
따라서
.container_12 .grid_6,
.container_16 .grid_8 {
width: 460px;
}
단지 클래스에 해당 스타일 적용 .grid_6
내에 .container_12
클래스에 .grid_8
내 클래스를 .container_16
.
답변
는 width: 460px;
갖는 소자에인가한다 .grid_8
포함 클래스 내부 와 요소 .container_16
와 클래스 및 원소 .grid_6
함유 클래스 내부 와 소자 .container_12
.
공백은 유산을 의미하고 쉼표는 ‘and’를 의미합니다. 같은 선택기를 사용하여 속성을 넣으면
.class-a, .class-b
두 클래스 중 하나가있는 요소에 속성이 적용됩니다.
도움이 되었기를 바랍니다.
답변
예제에는 4 개의 클래스와 2 개의 선택기가 있습니다.
.container_12 .grid_6,
.container_16 .grid_8 {
width: 460px;
}
그래서 .container_12
와는 .grid_6
두 클래스,하지만 규칙은 width: 460px
오직이 요소에 적용됩니다 .grid_6
이 요소의 후손 클래스를 .container_16
클래스를.
예를 들면 :
<div class="container_16">
<p class=".grid_6">This has a width of 480px.</p>
<p>This has an unknown width.</p>
</div>
답변
위는 쉼표로 표시된 두 클래스에 스타일을 적용하고 있음을 의미합니다.
두 요소가 나란히 나란히 분리되지 않은 것을 보면 영역 내의 영역을 참조한다고 가정 할 수 있습니다. 따라서 위의 스타일에서이 스타일은 container_12 클래스 내부의 grid_6 클래스와 container_16 클래스 내부의 grid_8 클래스에만 적용됩니다.
예에서 :
<div class="grid_6">This is not effected</div>
<div class="container_12">
<div class="grid_6">
This is effected.
</div>
</div>
첫 번째 grid_6은 적용되지 않지만 두 번째 grid_6 클래스는 container_12 내부에 포함되어 있기 때문입니다.
다음과 같은 진술
#admin .description p { font-weight:bold; }
대담한 것을 적용 할 것입니다
다음과 같이 ID가 “admin”인 영역 내에있는 클래스 “설명”이있는 영역 내의 태그 :
<div id="admin">
<div class="description">
<p>This is bold</p>
</div>
</div>