在CSS中,“。class1.class2”是合法和常用的吗?

时间:2010-06-18 22:14:22

标签: css-selectors css

我很习惯看到

div.class1

#someId.class1

怎么样?
.class1.class2

?我认为它与

相同
.class2.class1

?因为有一个标识为someId的元素,但现在我们在页面上显示了这种类型的两个元素,所以我想添加一个类并使用类而不是id,因此.class1.class2代替#someId.class1

5 个答案:

答案 0 :(得分:12)

它将选择两个类的项目。所以没有任何一件物品。

<span class="class1 class2"></span>

答案 1 :(得分:6)

是的,这既合法又通俗。在元素中,你会有这样的东西:

<div class="class1 class2">Hello</div>

答案 2 :(得分:1)

语法样式很好用。举个例子,假设您有以下html:

<div class="box">
</div>

<div class="box">
</div>

<div class="box">
</div>

<div class="box">
</div>

您可以添加修改“box”的第二个(以及第三个,第四个等)类。例如:

<div class="first odd box">
</div>

<div class="second even box">
</div>

<div class="third odd box">
</div>

<div class="fourth even box">
</div>

然后,在样式设计中,要设置不同的框组样式,您可以执行以下操作:

.odd.box {
}

.first.box, .fourth.box {
}

.first.box, .even.box {
}

答案 3 :(得分:1)

如果你给你的元素做两个类,那么浏览器会解释这个:

.class1.class2{width:500px;height:300px;}
<div class="class1 class2">&nbsp;</div>

如果您喜欢这样,它将不会被解释,导致没有样式的div:

.class1.class2{width:500px;height:300px;}
<div class="class2">&nbsp;</div>

这将被解释(导致尺寸为500px X 300px的元素:

.class1 {width:500px;}
.class2 {height:300px;}
<div class="class1 class2">&nbsp;</div>

css的常见用法是告诉浏览器某个名称的某个元素和某个名称的ID或CLASS将获得一组样式,或告诉浏览器某个ID或CLASS将获得一组样式,像这样:

例1:

  

.class1 {width:500px;} - &gt; 元素   用这个课将获得500px的   宽度。

例2:

  

div.class1 {width:500px;}    - &GT;只有一个   这个类的div元素会得到   500px的宽度。

例3:

  

div.class1,h1.class1 {width:500px;}    - &GT;只有div和具有此类的h1元素才能获得500px的宽度。

您可以在以下网址阅读有关css的有效信息:

W3C CSS SYNTAX PAGE

答案 4 :(得分:0)

只想确认Jouke van der Maas给出的答案, 这是正确的答案。我想引用以下内容 摘自CSS 2.1规范:

  

5.2选择器语法

     

简单的选择器是类型选择器或通用选择器   紧接着是零个或多个属性选择器ID   选择器或伪类,以任何顺序。简单的选择器   如果所有组件都匹配,则匹配。 [剪断]

由于.classname选择器等同于[class =“classname”]选择器, 它是一个属性选择器。注意“以任何顺序”位。因此选择器

.class1.class2

与选择器

相同
.class1.class2

并匹配两个元素,如

<span class="class1 class2">Hello World</span>

以及

<span class="class2 class1">Hello World</span>

这是同样的事情,以及

<span class="class1 class2 class3">Hello World</span>

等...

你也可以变得更加花哨。