当前位置: 首页 > 科技观察

这些CSS伪类,你可能不知道,还能用!

时间:2023-03-20 23:10:42 科技观察

css伪类用于为某些选择器添加特殊效果。它是动态的,指的是当前元素的状态或特征。只有当元素达到特定状态时,它才可能获得伪类样式;当状态改变时,它又失去了这种风格。这篇文章在一定程度上鼓励您在构建UI时使用更简单的CSS和更少的JS。熟悉CSS必须提供的所有功能是实现此目标的一种方法,另一种方法是实施最佳实践并尽可能多地重用代码。接下来,我将介绍一些你可能不熟悉的伪类及其用例,希望对你以后有所帮助。::一线|选择文本的第一行::first-line伪元素将样式应用于块级元素的第一行。第一行的长度取决于很多因素,包括元素宽度、文档宽度和文本的文本大小。::first-line伪元素只能用在block容器中,所以::first-line伪元素只能用在block、inline-block、table-cell或table-caption的显示值中。在其他类型中,::first-line无效。用法如下:p:first-line{color:lightcoral;}::first-letter|选择这一行的第一个单词CSS伪元素::first-letter将选择块级元素第一行的第一个字母。用法如下:

前端小智,继续努力,终身学习者!

::选择|用户突出显示的部分::selection伪元素适用于文档中用户突出显示的部分(例如,用鼠标或其他选择设备选择)。div::selection{color:#409EFF;}:root|根元素:root伪类匹配文档树的根元素。对于HTML,:root表示元素,它与html选择器相同,只是它具有优先级。:root在声明全局CSS变量时很有用::root{--main-color:hotpink;--pane-padding:5px42px;}:empty|仅在子元素为空时有效:empty伪类委托没有子元素的元素。子元素只能是元素节点或文本(包括空格),注释或处理指令无效。div:empty{border:2pxsolidorange;margin-bottom:10px;}
只有第一个和第二个div有效,因为它们确实是空的,第三个div没有效果,因为它有换行符。:独生子女|只有一个子元素有效:only-child匹配没有任何兄弟元素的元素。等价的选择器也可以写成:first-child:last-child或者:nth-child(1):nth-last-child(1),当然前者的权重会低一些。p:only-child{background:#409EFF;}

没有任何兄弟元素的第一个元素

第二个

第二个

没有任何兄弟元素的第一个元素:first-of-type|选择指定类型的第一个子元素:first-of-type表示一组兄弟元素类型的第一个元素。上面的.innerDivp:first-of-type{color:orangered;}的意思是将.innerDiv中第一个元素p的颜色设置为橙色。
Div1

这些是必要的步骤

hiya

不要同时踩刹车作为加速器。

Div2
:last-of-type|选择指定类型的最后一个子元素:last-of-typeCSS伪类表示在(其父元素的)子元素列表中,最后一个给定类型的元素。当代码类似于ParenttagName:last-of-type时,范围包括父元素的所有子元素中最后选择的元素,还包括子元素的最后一个子元素等。上面的.innerDivp:last-of-type{color:orangered;}的意思是将.innerDiv中最后一个元素p的颜色设置为橙色。第n个类型()|选取指定类型的子元素:nth-??of-type()这个CSS伪类是针对有一组兄弟节点的标签,使用n来过滤掉在一组兄弟节点中的位置。.innerDivp:nth-of-type(1){color:orangered;}
Div1

Theserethenecessarysteps

hiya

不要在踩油门的同时踩刹车。

Div2
:nth-last-of-type()|selectchildelementsoftypeattheendofthelist:nth-last-of-type(an+b)此CSS伪类匹配其后具有an+b-1个相同类型兄弟的元素,其中n为正数或零。它与:nth-of-type基本相同,只是它从末尾而不是从头开始倒数。.innerDivp:nth-last-of-type(1){color:orangered;}这会选择innerDiv元素中包含的p类型元素列表中的最后一个子元素。

Thesereethenecessarysteps

hiya

Div1

Dothesame.

Div2
:链接|选择一个未访问的超链接:链接伪类选择器用于选择元素内的链接。它将选择所有未访问过的链接,包括给定其他伪选择器的链接(例如:悬停选择器、:活动选择器、:已访问选择器)。为了正确渲染链接元素的样式,应该将:link伪类选择器放在其他伪类选择器的前面,并遵循LVHA的顺序,即:link—:visited—:hover—:积极的。:focus伪选择器往往伴随着:hover伪选择器,它们的顺序需要根据你想要达到的效果来决定。a:link{color:orangered;}登录:checked|选择一个选中的复选框:checkedCSS伪类选择器用于任何“单选”()、“复选框”()或一个“选项”HTML元素("option”)在一个(“select”)元素中。input:checked{box-shadow:0003pxhotpink;}:valid|为或其他内容被正确验证的
元素选择一个有效的元素:有效的CSS伪类。这只是以一种允许用户辨别其输入数据正确性的方式呈现验证字段。Div1和Div2将被选中,p将不会被选中。本文转载自微信公众号“伟大的走向世界”,您可以通过以下二维码关注。转载本文请联系大千世界公众号。