层叠样式表(CSS)允许您通过挂钩应用于该元素的属性来定义元素的外观。这些属性可以是ID或类,也可以像所有属性一样,将有用的信息添加到它们所附加的元素中。
根据您添加到元素的属性,您可以编写一个CSS选择器来应用必要的视觉样式,以实现该元素和整个网站的外观。
虽然ID或类的工作目的是使用CSS规则挂钩,但现代Web设计方法更倾向于使用ID而不是ID,因为它们不太具体,更易于整体使用。是的,您仍然会发现许多使用ID的网站,但这些属性的应用比过去更加谨慎,而类已经接管了现代网页。
CSS中的单个或多个类?
在大多数情况下,您可以为元素分配单个类属性,但实际上您不仅限于使用ID的一个类。虽然一个元素只能有一个ID属性,但你绝对可以给一个元素赋予多个类,在某些情况下,这样做会使你的页面更容易设计,更灵活!
如果需要为元素分配多个类,可以添加其他类,并使用属性中的空格将它们分开。
例如,这一段有三个类:
这将是该段的案文
这会在段落标记上设置以下三个类:
- Pullquote
- 精选
- 剩下
注意这些类值中的每一个之间的空格。这些空间将它们设置为不同的个别类。这也是为什么类名不能包含空格的原因,因为这样做会将它们设置为单独的类。例如,如果你使用没有空格的“pullquote-featured-left”,它将是一个类值,但上面的例子,这三个单词用空格分隔,将它们设置为单独的值。在决定在网页上使用哪些类值时,了解此概念非常重要。
在HTML中获得类值后,可以将它们作为类分配到CSS中,并应用您想要添加的样式。例如。
.pullquote {…}.featured {…}p.left {…}
在这些示例中,CSS声明和值对将位于花括号内,这是将这些样式应用于适当的选择器的方式。
如果将类设置为特定元素(例如,p.left),您仍然可以将它用作类列表的一部分;但是,请注意它只会影响CSS中指定的那些元素。换句话说, p.left style仅适用于具有此类的段落,因为您的选择器实际上是将其应用于“类别值为'left'的段落”。相比之下,示例中的其他两个选择器未指定某个元素,因此它们将应用于使用这些类值的任何元素。
多类的优点
多个类可以更轻松地向元素添加特殊效果,而无需为该元素创建全新的样式。
例如,您可能希望能够快速向左或向右浮动元素。你可以写两个班
剩下 和
对 只是
向左飘浮; 和
浮动:权利; 在他们中。然后,只要你有一个元素你需要向左浮动,你只需要将类“left”添加到它的类列表中。
但是,这里有一条很好的路线。请记住,Web标准决定了风格和结构的分离。结构是通过HTML处理的,而样式是在CSS中。如果您的HTML文档中填充的所有元素都具有类似“红色”或“左”的类,这些元素的名称决定了元素的外观而不是它们的外观,那么您就是在结构和样式之间划过那条线。出于这个原因,我尽可能地限制我的非语义类名。
多个类,语义和JavaScript
使用多个类的另一个好处是它为您提供了更多的交互性可能性。
您可以使用JavaScript将新类应用于现有元素,而无需删除任何初始类。您还可以使用类来定义元素的语义。这意味着您可以添加其他类来定义该元素在语义上的含义。这就是微格式的工作原理。
多个类的缺点
在元素上使用多个类的最大缺点是,随着时间的推移,它可能使它们看起来和管理有点笨拙。可能很难确定哪些样式影响元素以及是否有任何脚本影响它。今天可用的许多框架(如Bootstrap)大量使用具有多个类的元素。如果你不小心的话,那些代码可能会失控并且难以快速工作。
当您使用多个类时,即使您不打算这样做,您也可能会冒一个类的样式覆盖另一个类的样式。这样就很难弄清楚为什么你的样式没有被应用,即使它们看起来应该是这样。您需要了解特异性,即使应用于该元素的属性也是如此!
通过使用Google Chrome中的网站站长工具等工具,您可以更轻松地查看您的课程如何影响您的样式,并避免出现风格和属性冲突的问题。