当前位置: 首页 > Web前端 > HTML

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

时间:2023-04-02 23:31:31 HTML

作者:ChidumeNnamdi译者:前端小智来源:mediumumcss伪类用于给一些选择器添加特效。它们是动态的,指的是当前元素的状态或特征。只有当一个元素达到某种状态时,它才有可能获得伪类样式;当状态改变时,它会再次失去这种风格。这篇文章在一定程度上鼓励您在构建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::选择{颜色:#409EFF;}:根|根元素:根伪类匹配文档树的根元素。对于HTML,:root代表元素,与html选择器相同,只是具有更高的优先级。:root在声明全局CSS变量时很有用::root{--main-color:hotpink;--pane-padding:5px42px;}:empty|仅在子元素为空时有效:empty伪类表示没有子元素的元素。子元素只能是元素节点或文本(包括空格),注释或处理指令无效。div:empty{border:2px纯橙色;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表示在一组兄弟元素中其类型的第一个元素。.innerDivp:first-of-type{color:orangered;}上面的意思是将.innerDiv中第一个元素p的颜色设置为橙色。
Div1

这些是必要的步骤

hiya

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

Div2
:最后类型|选择指定类型的最后一个子元素: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

这些是必要的步骤

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

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

这些是必要的步骤

hiya

Div1

做同样的事情。

Div2
:链接|选择一个未访问的超链接:链接伪类选择器用于选择元素中的链接。它将选择所有未访问过的链接,包括给定其他伪选择器的链接(例如:悬停选择器、:活动选择器、:已访问选择器)。为了正确渲染链接元素的样式,应该将:link伪类选择器放在其他伪类选择器的前面,并遵循LVHA的顺序,即:link—:visited—:hover—:积极的。:focus伪选择器往往伴随着:hover伪选择器,它们的顺序需要根据你想要达到的效果来决定。a:link{color:orangered;登录:checked|Selectacheckedcheckbox:checkedCSS伪类选择器,用于选中的任何单选框()、复选框()或选项HTML元素("option")(“选择”)元素。input:checked{box-shadow:0003pxhotpink;}大家都说简历里没有项目可写,所以我给大家找了一个项目,也给了一个[建筑教程]。:有效|选择一个有效的元素:validCSS伪类表示或其他内容有效的
元素。这只是以一种允许用户辨别其输入数据正确性的方式呈现验证字段。input:valid{box-shadow:0003pxhotpink;}:invalid|选择一个无效的元素:无效的CSS伪类表示任何内容未通过验证的或其他元素。输入[type="text"]:invalid{border-color:red;}:lang()|通过指定的lang值选择一个元素:lang()CSS伪类,根据元素的语言来匹配页面元素。/*选择任何英文(en)段落*/p:lang(en){quotes:'\201C''\201D''\2018''\2019';}:not()|用于匹配不匹配的元素组选择器的元素CSS伪类:not()用于匹配不匹配组选择器的元素。由于它的作用是防止特定元素被选中,所以它也被称为否定伪类。让我们看一个例子:.innerDiv:not(p){color:lightcoral;}

Paragraph1

Paragraph2

Div1

Paragraph3

Div2
Div1和Div2会被选中,p不会被选中。原文:https://blog.bitsrc.io/css-ps...代码部署后可能出现的bug无法实时获知。之后为了解决这些bug,花费了大量的时间在日志调试上。在这里顺便给大家推荐一个好用的BUG监控工具Fundebug。交流文章每周更新。可以微信搜索“大千世界”阅读即时更新(比博文早一两篇)。本文已收录到GitHubhttps://github.com/qq449245884/xiaozhi。我的文档发表了很多,欢迎Star和完善,可以参考考试中心面试复习,关注公众号,后台会回复福利,福利可以看到,你知道。