CSS样式表通过HTML标签的样式属性来定义网站元素的外观。这些属性可以是ID或类,并且与所有属性一样,它们将有用的信息添加到它们所附加的元素中。
根据您添加到元素的属性,您可以编写一个CSS选择器来应用必要的视觉样式,以实现该元素和整个网站的外观。
虽然ID或类的工作目的是通过CSS规则实现,但现代网站设计方法更倾向于使用类而不是ID,因为它们不太具体,而且更易于整体使用。
CSS中的一个或多个类?
在大多数情况下,您为一个元素分配一个类属性,但实际上您不仅限于一个类,而是使用ID。虽然元素只能有一个ID属性,但您可以为元素提供多个类,在某些情况下,这样做会使页面更容易设置样式并且更加灵活。
如果需要为元素分配多个类,请添加其他类,并使用属性中的空格将它们分开。例如,这一段有三个类:
<p class =“pullquote featured left”>这将是段落的文本</ p>
这会在段落标记上设置以下三个类:pullquote,featured,left。
注意这些类值中的每一个之间的空格。这些空格将它们设置为不同的个别类。这也是为什么类名不能包含空格的原因,因为这样做会将它们设置为单独的类。
在HTML中获得类值后,您可以将它们作为类分配到CSS中并应用您想要添加的样式。例如。
.pullquote {...}
.featured {...}
p.left {...}
在这些示例中,CSS声明和值对出现在花括号内,这就是这些样式应用于适当选择器的方式。
如果将类设置为特定元素(例如, p.left),则仍可以将其用作类列表的一部分; 但是,请注意它只会影响CSS中指定的那些元素。换句话说,p.left样式将仅适用于具有此类的段落,因为您的选择器实际上是将其应用于“类值为left的段落”。相比之下,示例中的其他两个选择器未指定某个元素,因此它们将应用于使用这些类值的任何元素。
使用多个类的优点
分成几个类可以更容易地为元素添加特殊效果,而无需为该元素创建全新的样式。不过,这里有一条很好的路线。请记住,Web标准决定了样式和结构的分离。使用HTML处理结构,而样式在CSS中。如果您的HTML文档中填充的所有元素都具有类似“red”或“left”的类,这些元素的名称决定了元素的外观而不是它们的外观,那么您就是在结构和样式之间划过那条线。
多个类,语义和JavaScript。使用几个类的另一个优点是它增加了交互性的便捷性。
使用JavaScript将新类应用于现有元素,而不删除任何初始类。您还可以使用类来定义元素的语义,添加其他类以定义该元素在语义上的含义。这种方法是微格式的工作方式。
使用多个类的缺点
在HTML元素上同时使用多个类的最大缺点是,随着时间的推移,它可能使它们看起来和管理起来有点笨拙。可能很难确定哪些样式影响元素以及是否有任何脚本影响它。今天比较流行的许多框架,如Bootstrap,都会大量使用具有多个类的元素。如果你不小心的话,那些代码可能会失控并很难快速完成。
当您使用多个类时要比使用一个类要多一些风险,从而覆盖另一个类的样式。然后,这种碰撞很难弄清楚为什么你的样式没有被应用,即使它们看起来应该是这样。即使将属性应用于该元素,也要保持特异性。
比如通过使用Chrome浏览器中的网站管理员工具等工具,您可以更轻松地查看您的class如何影响您的样式,并避免出现风格和属性冲突的问题。