如何为一个HTML容器分配多个类?[关闭]


398

是否可以将多个类分配给单个HTML容器?

就像是:

<article class="column, wrapper"> 

您现在有什么问题?任何解决该问题的方法。任何其他问题可能取决于几个因素。
奥雷利奥·德·罗莎

1
尽管这是可行的,但我通常使用具有CSS继承的嵌套容器。它更漂亮,通常更有用。
乔纳森·亨森

如果您在移除逗号后仍然遇到问题,建议您查看有关规则为什么不起作用的指导。我发现对我来说最常见的减速带是那里描述为“使用速记特性”的情况(即,隐式恢复为默认值)
LJ在NJ

Answers:



188

从标准

7.5.2元素标识符:id和class属性

属性定义

id =名称[CS]
此属性为元素分配名称。此名称在文档中必须唯一。

class = cdata-list [CS]
此属性为一个元素分配一个类名或一组类名。可以为任意数量的元素分配相同的一个或多个类名。多个类名称必须由空格字符分隔。

是的,请在它们之间留一个空格。

<article class="column wrapper">

当然,CSS继承可以做很多事情。这是一篇供进一步阅读文章


3
如果将一个元素分配给为同一属性设置不同值的多个类,则浏览器应该如何反应。有优先顺序吗?
EternallyCurious 2014年

6
@JonathanHenson:不,不是。如果存在特殊性,则以CSS中稍后出现的规则为准。
Ulrich Schwarz 2014年

1
@UlrichSchwarz是稍后列出的CSS类(测试时希望的是)还是所有CSS文件中的更高版本?因为前者肯定在我测试过的浏览器中不起作用,而我已经测试了后者的假设。
乔纳森·亨森

9
@JonathanHenson:根据CSS 2.1规范,“如果两个声明具有相同的权重,来源和特定性,则以后者为准。导入的样式表中的声明被视为在样式表本身中的任何声明之前。” 这就是CSS声明顺序。class属性中的名称没有指定的顺序,因为这.foo[class ~= foo] ref的语法糖,“ fooclass属性中的单词”。
Ulrich Schwarz 2014年

1
@UlrichSchwarz感谢您的澄清。
乔纳森·亨森

18

要分配多个类给一个html元素,包括类属性的报价中同时类的名字,并让他们相隔的空间:

<article class="column wrapper"> 

在上面的示例中,columnwrapper是两个单独的css类,并且它们的两个属性都将应用于该article元素。


16
这个答案与以前有什么不同?
伊万·罗德里格斯·托雷斯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.