你能解释一下这种css声明吗:
.menu_blueSkin_Middle.dir_left div.align_left {
float: left;
}
据我所知,如果你有.someName{}这意味着它被放在了 html 元素类属性中。例如:
<div class='someName'></div>.
但是带来问题的例子有两个点。一个在开始,一个在中间。然后还有空格和另一个声明div.align_left?
请给我一些解释!
两个点表示两个类——那些特定的 CSS 规则只有在元素同时具有这两个类时才会生效。
这两个类都需要出现在您的外部 div 上:
.menu_blueSkin_Middle .dir_left
虽然您在内部 div 上的类应该包含一个带有该类的 div(它可以有多个,但至少有以下几个):
.align_left
因此它应该看起来像这样:
<div class="menu_blueSkin_Middle dir_left"> <!-- Outer div class selectors -->
<div class="align_left"></div> <!-- Inner div class selector -->
</div>
这意味着元素必须具有两个类才能匹配规则。
<div class="menu_blueSkin_Middle dir_left">
<div class="align_left"></div>
</div>
div.align_left 是一个后代选择器。这意味着只应用(选择)嵌套在 menu_blueskin_Middle.dor_left 元素中的 div.align_left 的 DOM 元素。
一个元素的属性中可以有多个类名class
,两个类名放在一起的选择器意味着该元素需要两个类名才能匹配选择器。
例如,选择器将匹配div
此代码中的内部:
<div class="menu_blueSkin_Middle dir_left">
<div class="align_left"></div>
</div>
它将包含的规则应用于分配了两个类的元素。
<html>
<style>
.one { color: green; }
.two { color:red; }
.one.two { color:blue; }
</style>
<div class="one">I'll be Green</div>
<div class="two">I'll be Red</div>
<div class="one two">I'll be Blue</div>
</html>
.menu_blueSkin_Middle.dir_left div.align_left
这里调用了三个类。
这有点复杂,因为命名这些课程的人都是业余爱好者。您永远不应将类命名为与 css 代码相同的名称。
为了更容易理解,让我们重命名显示的三个类:
好的,现在有了三个重命名的类,让我们向您展示代码:
.firstclass.secondclass div.thirdclass {
float: left;
}
好的,以下适用:
示例代码:
<div class="firstclass secondclass">
<p class="thirdclass">
</p>
<!-- NOTE: THIS IS JUST A NOTE SO YOU KNOW WHICH IS AFFECTED.
The DIV below is the **only one affected**. The P above is NOT affected. Because it is not a DIV.
The DIV at the bottom is NOT affected. Because it is not nested inside the firstclass secondclass
-->
<div class="thirdclass">
</div>
</div>
<div class="thirdclass">
</div>
.menu_blueSkin_Middle.dir_left div.align_left
方法
具有类 menu_blueSkin_Middle 和类 dir_left 的任何元素,其子元素是具有类 align_left 的 div 标签
这称为双类选择器。它将应用于具有两个类的元素,如下面的一个
<div class="menu_blueSkin_Middle dir_left">...</div>
您可以加入任意数量的 ID 和类选择器,例如 .class1#identifier.class2.class3 等。
关于什么的很多答案,但为什么呢?
.menu_blueSkin_Middle.dir_left div.align_left {
float: left;
}
有时您希望具有更多的特异性(将其读取为更高的优先级并添加两个类(类之间没有空格)-在这里您确实有多个,这增加了应用此 CSS 的可能性。所以具有这些多个的元素类获得特异性。
尝试在“css 选择器多个类”上搜索 google/bing