分享更有价值
被信任是一种快乐

css之伪类选择器怎么使用

文章页正文上

本文小编为大家详细介绍“css之伪类选择器怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“css之伪类选择器怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。伪类选择器 是一种允许通过未包含在HTML元素的状态信息来定位HTML元素的用法。伪类选择器 的具体用法就是向已有的选择器增加关键字,表示定位的HTML元素的状态信息。通过伪类,开发者可以设置元素的动态状态,例如悬停(hover)、点击(active)以及文档中不能通过其它选择器选择的元素(这些元素没有 ID 或 class 属性),例如第一个子元素(first-child)或者最后一个子元素(last-child)。例如:hover伪类选择器可以用来在用户将鼠标悬停在按钮上时改变按钮的颜色。如下示例代码所示:伪类的名称不区分大小写,但需要以冒号:开头。另外,伪类需要与 CSS 中的选择器结合使用,语法格式如下:伪类选择器 的具体语法格式为 :伪类,这里一定不要忘记 :。CSS 中提供了各种各样的伪类,如下表所示: 元素, 必须是父元素中的第一个子元素 元素 元素, 必须是父元素中的最后一个子元素 元素 元素的元素 元素伪类选择器的分类CSS 版本从第一版本发展到第三版本,提供的伪类选择器 的数量已经很庞大了。尤其CSS3版本新增了大量的伪类选择器伪类选择器 的数量这么多,为了更好地梳理伪类选择器 ,我们可以按照用途的不同分为如下 5 种类型:用户行为伪类:指与用户行为相关的一些伪类,例如,悬停:hover、按下:active以及获取焦点:focus等。URL定位伪类:用于定位HTML页面中的元素输入伪类:与表单控件相关的伪类结构伪类:主要用于定位目标元素逻辑组合伪类:用于逻辑操作的,例如:not(),就表示不是某元素。1、用户行为伪类–动态伪类选择器之所以称为动态伪类选择器,是因为它们根据条件的改变匹配元素,是相对于文档的固定状态来说的。随着JavaScript广泛用于修改文档内容和元素状态,动态选择器和静态选择器之间的界限越来越模糊,不过,动态伪类选择器仍然是一类比较特别的选择器。:link选择器匹配超链接,:visited选择器匹配用户已经访问过得超链接。使用:visited选择器可以应用到链接元素的属性不多。你可以改变颜色和字体,不过仅此而已。提示::visited选择器匹配用户在所有页面访问过的href属性为URL的任意链接,而不只是你的页面。:visited最常见的用法就是针对已访问的链接应用某种样式,从而让它们跟未访问的链接有所区别。比如我们看新闻,看过的新闻和没有看过的新闻在首页列表呈现的状态是不一样的,便于我们区分。:hover选择器匹配用户鼠标悬停在其上的任意元素。:active选择器匹配当前被用户激活的元素(一般情况下为鼠标点击该元素)。:focus选择器匹配获得焦点的元素,常用于 input 元素。2、结构性伪类选择器使用结构性伪类选择器能够根据元素在文档中的位置选择元素。这类选择器都有一个冒号字符前缀(:),例如:empty。他们可以单独使用,也可以跟其他选择器组合使用,如p:empty。结构伪类选择器类选择器包含的内容如下表所示:
CSS中的结构伪类选择器是根据HTML页面中元素之间的关系来定位HTML元素,从而减少对HTML元素的id属性和class属性的依赖。:first-child与:last-child:first-child伪类用来定义一组兄弟元素的第一个元素而:last-child伪类则是定位一组兄弟元素的最后一个元素。如下示例代码展示了:first-child伪类和:last-child伪类的用法:HTML结构如下:CSS代码如下:代码运行结果如下图所示::first-child 伪类可以使用:nth-child(n)伪类改写为:nth-child(1),而:last-child伪类可以使用:nth-last-child(n)伪类改写为:nth-last-child(1):first-child伪类和:last-child伪类经常会引起误解。例如 li:first-child 是用来定位所有

  • 元素中第一个作为子级元素的,而不是定位
  • 元素的第一个子级元素。:first-of-type与:last-of-type:first-of-type伪类和:last-of-type伪类一个用于定位一组元素中的第一个兄弟元素,一个用来定位最后一个。如下示例代码展示了:first-of-type伪类和:last-of-type伪类的用法:HTML结构如下:涂山红红涂山苏苏CSS代码如下:代码运行结果如下图所示::first-of-type伪类与:last-of-type伪类的用法一定要和:first-child伪类与:last-child伪类的用法区分开。以:first-of-type伪类和:first-child伪类为例来说明::first-of-type伪类是定位一组同类型的兄弟元素中的第一个元素,不管这个元素在兄弟元素中的位置如何。:first-child伪类是定位一组兄弟元素中的第一个元素,这些兄弟元素不一定是同类型的。如果将上述示例代码中的:first-of-type伪类改写为:first-child伪类的话,将不会生效。:nth-child(n)与:nth-last-child(n):nth-child(n)伪类和:nth-last-child(n)伪类都是CSS3中新增的选择器,这两个选择器的用法基本上是一致的。区别在于:nth-last-child(n)伪类是倒序方式定位元素,也就是说,:nth-last-child(n)伪类是从一组元素的结尾开始的。接下来,主要以:nth-child(n)伪类为例进行讲解。:nth-child(n)伪类中的n参数的含义具有3种情况:数字值:任意一个大于 0 的正整数。例如 #example td:nth-child(1) 表示定位ID为example的父元素下所有 元素中的第一个元素。

  • 关键字:odd表示奇数,等同于:nth-child(2n)even表示偶数,等同于:nth-child(2n+1)

  • 格式为(an+b)公式:a表示周期的长度(步长 ),n表示计数器(从 0 开始 ),而b则表示偏移值。

  • 如下示例代码展示了:nth-child(n)伪类(实现表格隔行换色效果)的用法:

    html>
    
    
    
    
    
    
    nth-child伪类
    
    
    姓名 区域
    梵云飞 西西域
    欢都落兰 南国
    石宽 北山
    涂山红红 涂山

    代码运行结果如下图所示:

    :nth-child(n)伪类的n参数用法中比较复杂的是使用(an+b)公式用法,如下示例列举了一些公式用法:

    • :nth-child(5n):定位元素的序号是5 [=51]、10 [=52]、15 [=53]等。

    • :nth-child(3n+4):定位元素的序号是4 [=(30)+4]、7 [=(31)+4]、10 [=(32)+4]、13 [=(33)+4] 等。

    • :nth-child(-n+3):定位元素的序号是3 [=-0+3]、2 [=-1+3]、1 [=-2+3]。

    :nth-child(n)伪类与:nth-last-child(n)伪类和:nth-of-type(n)伪类与:nth-last-of-type(n)伪类的区别,类似于:first-of-type伪类与:last-of-type伪类和:first-child伪类与:last-child伪类的区别。

    :empty

    :empty伪类是用来定位没有任何子级元素或文本内容的元素,其中文本内容包含了空白。但是HTML的注释是不影响:empty伪类定位元素的。

    如下示例代码展示了:empty伪类的用法:

    html>
    
    
    
    
    
    
    empty伪类
    
    
    这个元素的背景是粉色的

    代码运行结果如下图所示:

    :root

    CSS中的:root伪类选择器比较简单,它代表的就是元素。

    如下代码展示的:root伪类的用法:

    :root{
    height:100vh;
    width:100vw;
    background-color:dodgerblue;
    }

    代码运行结果如下图所示:

    3、UI元素状态伪类选择器

    使用UI伪类选择器可以根据元素的状态匹配元素,下方列表将简单总结这类选择器:

    选择器 说明
    :enabled 选择启用状态的元素
    :disabled 选择禁用状态的元素
    :checked 选择被选中的input元素(只用于单选按钮和复选框)
    :default 选择默认元素
    :valid 根据输入验证选择有效或者无效的input元素
    :in-range/:out-of-range 选择在制定范围之内或者职位受限的input元素
    :required/:optional 根据是否允许:required属性选择input元素

    4、输入伪类选择器

    关于表单输入的伪类,主要介绍三种常用的,具体如下:

    • :enabled:disabled

    • :read-only:read-write

    • :checked

    :enabled和:disabled

    :enabled:disabled一这组伪类选择器分别表示禁用状态与可用状态,这组为了使完全对立的。

    :enabled伪类的实际用处并不大,因为大多元素默认都是可用的,所以写不写意义并不大。

    如下代码展示了:enabled:disabled的用法:

    html>
    
    
    
    
    
    
    :enabled和:disabled的用法
    
    
    

    代码运行结果如下所示:

    由上图我们看到禁用状态的的背景颜色为灰色。

    :read-only和:read-write

    :read-only:read-write一这组伪类选择器分别表示只读和可写状态,同样的:read-write也很鸡肋,因为默认就是可读写,示例代码如下所示:

    html>
    
    
    
    
    
    
    :read-only和:read-write
    
    
    

    代码运行结果如下所示:

    我们可以看到,只读的的文字颜色为红色。

    :checked

    :checked伪类可以说是众多伪类选择器中使用频率很高的一个伪类选择器,该选择器表示选中的状态,就比如下面这个例子:

    html>
    
    
    
    
    
    
    checked伪类
    
    
    

    关于:checked伪类,最佳实践是配合元素来实现,现在我们就通过:checked元素来实现一个开关的效果。

    示例代码如下:

    html>
    
    
    
    
    
    
    开关
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    运行效果如下所示:

    5、逻辑组合伪类

    :not()否定的伪类

    • 优先级为0,优先级由括号中的表达式决定; :not(p)由p决定

    • 可以不断的级联;
      input:not(:disabled):not(:read-only) {} ;表示处于不禁用,也不处于只读的状态

    • 不可出现多个表达式,也不支持选择符;
      li:not(li, od); 尚未支持

    :not()的巨大的用处在于告别重置的问题;

    重置web中的样式,就好比我们在项目中经常使用到的:添加.active类名来控制样式的显示与隐藏/改变样式,往常的写法都是:

    .cs_li{
    	display:none;
    }
    .cs_li.active{
    	display:block;
    }

    而我们可以使用:not()伪类,可以更好的实现:

    .cs_li:not(.active){
    	display:none;
    }

    在列表中的设置

  • 的边框时也可使用其:not()

    .cs_li:not(:nth-of-type(5n)){
    	margin-right:10px;//除5的倍数项都设置右边的外边距
    }

    :is()的作用是简化选择器

    平时我们开发中经常会用到类似下面的语法:

    .cs_li_a>img,
    .cs_li_b>img,
    .cs_li_c>img{
    	display:none;
    }

    使用:is()简化可写成:

    :is(.cs_li_a,.cs_li_b,.cs_li_c)>img{
    	display:none;
    }

    还有一种嵌套之间的关系,相互嵌套,交叉组合得出结论;如下方所示

    ololli,
    olulli,
    ululli,
    ulolli{
    	margin-left:20px;
    }

    使用:is()伪类强化,则只需要几行代码:

    :is(ol,ul):is(ol,ul)li{
    	margin-left:20px;
    }

    :where()

    :where()与上方的:is()相同,唯一不同的是级别永远为0,也不受括号里面的表达式影响;

    使用的方法与:is()完全相同,但优先级永远是0;底下的括号中的优先级完全被忽略,俩句是同一个优先级,并且级别等同于.conten选择器

    :where(.article,section).conten{}
    :where(#article,#section).conten{

    读到这里,这篇“css之伪类选择器怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注云技术行业资讯频道。

    推荐阅读:
    1. CSS 3 伪类选择器
    2. css中伪类选择器的使用

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@byun.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    css

    • 上一篇新闻:

      CSS盒子大小与内外边距及边框的关系是什么
    • 下一篇新闻:

      Java如何设置httponlycookie

    猜你喜欢

    • sass和bootstrap有什么区别
    • HTML5怎样实现图片无限加载瀑布流效果
    • Shell逐行处理文本求和的示例分析
    • 这么在Spring Cloud中使用Sleuth
    • JavaScript运算符的示例分析
    • Java中原型模式的示例分析
    • JavaScript中回调、Promise和Async/Await的示例分析
    • 2021最新TIOBE编程语言排行榜
    • Spring中如何进行日常Bug排查
    • Javascript中运算符的示例分析

    免费云主机、域名

    最新资讯
    • python高阶函数functools模块如何使用
    • 怎么使用vue-pdf插件实现pdf文档预览功能
    • AndroidFlutter怎么在点击事件上添加动画效果
    • Springboot整合多数据源配置流程是什么
    • Python中JsonPath提取器和正则提取器怎么使用
    • SpringBootJPA常用注解如何使用
    • 怎么使用JS实现一个跟随鼠标移动洒落的星星特效
    • 怎么使用vue+echarts绘制折线图、柱状图和扇形图
    • Redis与MySQL的双写一致性问题怎么解决
    • Python中的描述器怎么使用
    相关推荐
    • css中有哪些伪类选择器
    • CSS中如何使用伪类选择器hover
    • CSS伪类选择器的使用方法
    • 如何使用css3 伪类选择器
    • 如何在CSS中使用visited伪类选择器
    • 怎么在CSS中使用visited伪类选择器
    • CSS伪类选择器怎么表示
    • CSS伪类选择器怎么应用
    • CSS中伪类选择器hover怎么使用
    • css中的UI状态伪类选择器怎么使用

    相关标签

    css3
    html5+css3
    +css
    scss
    css基础
    css+html
    css框架
    css定位
    ​css3
    css sprite
    html5 css3
    css颜色
    css预处理器
    postcss-pxtorem
    css样式属性
    css3新特性
    css边框样式
    css伪类
    css hack
    oocss

    关键字:odd表示奇数,等同于:nth-child(2n)even表示偶数,等同于:nth-child(2n+1)。格式为(an+b)公式:a表示周期的长度(步长 ),n表示计数器(从 0 开始 ),而b则表示偏移值。如下示例代码展示了:nth-child(n)伪类(实现表格隔行换色效果)的用法:代码运行结果如下图所示::nth-child(n)伪类的n参数用法中比较复杂的是使用(an+b)公式用法,如下示例列举了一些公式用法::nth-child(5n):定位元素的序号是5 [=51]、10 [=52]、15 [=53]等。:nth-child(3n+4):定位元素的序号是4 [=(30)+4]、7 [=(31)+4]、10 [=(32)+4]、13 [=(33)+4] 等。:nth-child(-n+3):定位元素的序号是3 [=-0+3]、2 [=-1+3]、1 [=-2+3]。:nth-child(n)伪类与:nth-last-child(n)伪类和:nth-of-type(n)伪类与:nth-last-of-type(n)伪类的区别,类似于:first-of-type伪类与:last-of-type伪类和:first-child伪类与:last-child伪类的区别。:empty:empty伪类是用来定位没有任何子级元素或文本内容的元素,其中文本内容包含了空白。但是HTML的注释是不影响:empty伪类定位元素的。如下示例代码展示了:empty伪类的用法:代码运行结果如下图所示::rootCSS中的:root伪类选择器比较简单,它代表的就是元素。如下代码展示的:root伪类的用法:代码运行结果如下图所示:3、UI元素状态伪类选择器
    使用UI伪类选择器可以根据元素的状态匹配元素,下方列表将简单总结这类选择器:4、输入伪类选择器关于表单输入的伪类,主要介绍三种常用的,具体如下::enabled:disabled:read-only:read-write:checked:enabled和:disabled:enabled:disabled一这组伪类选择器分别表示禁用状态与可用状态,这组为了使完全对立的。:enabled伪类的实际用处并不大,因为大多元素默认都是可用的,所以写不写意义并不大。如下代码展示了:enabled:disabled的用法:代码运行结果如下所示:由上图我们看到禁用状态的的背景颜色为灰色。:read-only和:read-write:read-only:read-write一这组伪类选择器分别表示只读和可写状态,同样的:read-write也很鸡肋,因为默认就是可读写,示例代码如下所示:代码运行结果如下所示:我们可以看到,只读的的文字颜色为红色。:checked:checked伪类可以说是众多伪类选择器中使用频率很高的一个伪类选择器,该选择器表示选中的状态,就比如下面这个例子:关于:checked伪类,最佳实践是配合元素来实现,现在我们就通过:checked元素来实现一个开关的效果。示例代码如下:运行效果如下所示:5、逻辑组合伪类:not()否定的伪类优先级为0,优先级由括号中的表达式决定; :not(p)由p决定可以不断的级联;
    input:not(:disabled):not(:read-only) {} ;表示处于不禁用,也不处于只读的状态不可出现多个表达式,也不支持选择符;
    li:not(li, od); 尚未支持:not()的巨大的用处在于告别重置的问题;重置web中的样式,就好比我们在项目中经常使用到的:添加.active类名来控制样式的显示与隐藏/改变样式,往常的写法都是:而我们可以使用:not()伪类,可以更好的实现:在列表中的设置

  • 的边框时也可使用其:not():is()的作用是简化选择器平时我们开发中经常会用到类似下面的语法:使用:is()简化可写成:还有一种嵌套之间的关系,相互嵌套,交叉组合得出结论;如下方所示使用:is()伪类强化,则只需要几行代码::where():where()与上方的:is()相同,唯一不同的是级别永远为0,也不受括号里面的表达式影响;使用的方法与:is()完全相同,但优先级永远是0;底下的括号中的优先级完全被忽略,俩句是同一个优先级,并且级别等同于.conten选择器读到这里,这篇“css之伪类选择器怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注云技术行业资讯频道。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@byun.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。云技术公众号手机网站二维码Copyright Yisu Cloud Ltd. All Rights Reserved. 2018 版权所有广州云技术计算有限公司粤ICP备17096448号-1
    粤公网安备 44010402001142号增值电信业务经营许可证编号:B1-20181529

    相关推荐: vue中console.log不输出内容如何解决

    本篇内容介绍了“vue中console.log不输出内容如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! vue中console.log不输出内容的解决办…

    文章页内容下
  • 赞(0) 打赏
    版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
    文章页正文下
    文章页评论上

    云服务器、web空间可免费试用

    宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

    主机选购导航云服务器试用

    登录

    找回密码

    注册