一、更多伪类选择器
伪类选择器在 CSS 中起着至关重要的作用,它们允许你根据元素的特定状态或位置来选择元素,从而实现更加精细的样式控制。
(一)first-child
作用:选中父元素的第一个子元素。这个选择器对于为特定元素的第一个子元素应用独特的样式非常有用。
示例:
代码语言:javascript复制p:first-child {
color: red;
}
在这个例子中,会选中作为父元素第一个子元素的<p>
元素,并将其文本颜色设置为红色。比如在一个包含多个段落的容器中,只有第一个段落会被应用这个样式。
(二)first-of-type
作用:选中同类型元素中的第一个元素。与first-child
不同,它只关注同类型的元素,而不考虑在父元素中的位置顺序。
示例:
代码语言:javascript复制p:first-of-type {
font-weight: bold;
}
这里会选中页面中第一个<p>
元素,并将其字体加粗。即使这个段落不是父元素的第一个子元素,但只要它是页面中出现的第一个<p>
元素,就会被选中。
(三)last-child
作用:选中父元素的最后一个子元素。可以用来为父元素的最后一个子元素添加特殊的样式效果。
示例:
代码语言:javascript复制p:last-child {
text-decoration: underline;
}
此代码会给父元素的最后一个<p>
元素添加下划线。例如在一个列表中,最后一个列表项可以通过这个选择器进行突出显示。
(四)last-of-type
作用:选中同类型元素中的最后一个元素。专注于同类型元素的末尾元素进行样式设置。
示例:
代码语言:javascript复制p:last-of-type {
background-color: yellow;
}
这会将页面中最后一个<p>
元素的背景颜色设置为黄色。无论这个段落在页面中的哪个位置,只要它是同类型元素中的最后一个,就会被选中。
(五)nth-child
作用:选中父元素中的第 n 个子元素。可以使用具体的数字来指定特定的子元素,也可以使用表达式来选择特定模式的子元素。
示例:
代码语言:javascript复制li:nth-child(3) {
list-style-type: square;
}
这里会选中列表中的第三个<li>
元素,并将其列表样式设置为方块。此外,even
可以选中偶数个元素,等同于2n
,odd
可以选中奇数个元素,等同于2n 1
。
li:nth-child(even) {
background-color: gray;
}
这会将列表中的偶数位置的<li>
元素的背景颜色设置为灰色。可以根据需要灵活运用这些选择方式来实现不同的布局效果。
(六)nth-of-type
作用:选中同类型元素中的第 n 个元素。与nth-child
类似,但只针对同类型的元素进行选择。
示例:
代码语言:javascript复制p:nth-of-type(2) {
font-style: italic;
}
此代码会选中页面中第二个<p>
元素,并将其字体设置为斜体。如果页面中有多个段落,这个选择器可以精确地选择特定位置的段落进行样式调整。
二、更多的伪元素选择器
伪元素选择器能够选择元素的特定部分,为样式设计提供了更多的可能性。
(一)first-letter
作用:选中元素的第一个字母。可以用于为文本的首字母添加特殊的样式,增强文本的视觉效果。
示例:
代码语言:javascript复制p::first-letter {
font-size: 2em;
}
这会将<p>
元素的第一个字母的字体大小设置为原来的两倍。在段落开头的字母可以通过这个选择器进行突出显示,吸引读者的注意力。
(二)first-line
作用:选中元素的第一行。对于控制文本的首行样式非常有用,可以实现如首行缩进、特殊字体样式等效果。
示例:
代码语言:javascript复制p::first-line {
color: blue;
}
这里会将<p>
元素的第一行文本颜色设置为蓝色。如果段落内容较长,首行的独特样式可以使文本更具可读性和吸引力。
(三)selection
作用:选中用户选择的文本。可以为用户选择的文本添加特定的样式,提供更好的交互体验。
示例:
代码语言:javascript复制::selection {
background-color: pink;
}
当用户在页面上选择文本时,被选中的文本背景颜色会变为粉色。这种样式可以让用户更容易识别他们选择的内容,同时也可以增加页面的视觉吸引力。