千家信息网

css伪类选择器:is :not实例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文小编为大家详细介绍"css伪类选择器:is :not实例分析",内容详细,步骤清晰,细节处理妥当,希望这篇"css伪类选择器:is :not实例分析"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢
千家信息网最后更新 2026年11月01日css伪类选择器:is :not实例分析

本文小编为大家详细介绍"css伪类选择器:is :not实例分析",内容详细,步骤清晰,细节处理妥当,希望这篇"css伪类选择器:is :not实例分析"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

  :not

  The:not()CSSpseudo-classrepresentselementsthatdonotmatchalistofselectors.Sinceitpreventsspecificitemsfrombeingselected,itisknownasthenegationpseudo-class.

  以上是MDN对not的解释

  推荐学习:CSS视频教程

  单从名字上我们应该能对它有大概的认知,非选择,排除括号内的其它元素

  最简单的例子,用CSS将div内,在不改变html的前提下,除了P标签,其它的字体颜色变成蓝色,

  

  我是蓝色

  

我是黑色

  

我是蓝色

  

我是蓝色

  

我是蓝色

  

我是蓝色

  

我是蓝色

  

  之前的做法

  divspan,divh3,divh4,divh5,{

  color:blue;

  }

  not写法

  div:not(p){

  color:blue;

  }

  从上面的例子可以明显体会到not伪类选择器的作用

  下面升级一下,问:将div内除了span和p,其它字体颜色变蓝色

  div:not(p):not(span){

  color:blue;

  }

  还有更为简洁的方法,如下,但是目前兼容不太好,不建议使用

  div:not(p,span){

  color:blue;

  }

  兼容

  除IE8,目前所有主流浏览器都支持,可以放心使用

  :is

  The:is()CSSpseudo-classfunctiontakesaselectorlistasitsargument,andselectsanyelementthatcanbeselectedbyoneoftheselectorsinthatlist.Thisisusefulforwritinglargeselectorsinamorecompactform.

  以上是MDN的解释

  在说is前,需要先了解一下matches

  matches跟is是什么关系?

  matches是is的前世,但是本质上确实一个东西,用法完全一样

  matches这个单词意思跟它的作用非常匹配,但是它跟not作用恰好相反,作为not的对立面,matches这个次看起来确实格格不入,而且单词不够简洁,所以它被改名了,这里还有一个issuehttps://github.com/w3c/csswg-drafts/issues/3258,也就是它改名的源头

  好了,现在知道matches和is其实是一个东西,那么is的用法是怎样的呢?

  举例:将header和main下的p标签,在鼠标hover时文字变蓝色

  

  

      

  • 鼠标放上去变蓝色

  •   

  • 鼠标放上去变蓝色

  •   

  

正常字体

  

  

  

      

  • 鼠标放上去变蓝色

  •   

  • 鼠标放上去变蓝色

  •   

    正常字体

      

  

  

  

      

  • 正常字体

  •   

  • 正常字体

  •   

  

  之前的做法

  headerulp:hover,mainulp:hover{

  color:blue;

  }

  is写法

  :is(header,main)ulp:hover{

  color:blue;

  }

  从上面的例子大概能看出is的左右,但是并没有完全体现出is的强大之处,但是当选择的内容变多之后,特别是那种层级较多的,会发现is的写法有多简洁,拿MDN的一个例子看下

  之前的写法

  /*Level0*/

  h2{

  font-size:30px;

  }

  /*Level1*/

  sectionh2,articleh2,asideh2,navh2{

  font-size:25px;

  }

  /*Level2*/

  sectionsectionh2,sectionarticleh2,sectionasideh2,sectionnavh2,

  articlesectionh2,articlearticleh2,articleasideh2,articlenavh2,

  asidesectionh2,asidearticleh2,asideasideh2,asidenavh2,

  navsectionh2,navarticleh2,navasideh2,navnavh2{

  font-size:20px;

  }

  is写法

  /*Level0*/

  h2{

  font-size:30px;

  }

  /*Level1*/

  :is(section,article,aside,nav)h2{

  font-size:25px;

  }

  /*Level2*/

  :is(section,article,aside,nav)

  :is(section,article,aside,nav)h2{

  font-size:20px;

  }

  可以看出,随着嵌套层级的增加,is的优势越来越明显

  说完了is,那就必须认识一下any,前面说到is是matches的替代者,

  any跟is又是什么关系呢?

  是的,is也是any的替代品,它解决了any的一些弊端,比如浏览器前缀、选择性能等

  any作用跟is完全一样,唯一不同的是它需要加浏览器前缀,用法如下

  :-moz-any(.b,.c){

  }

  :-webkit-any(.b,.c){

  }

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

蓝色 选择 字体 写法 鼠标 作用 例子 实例 实例分析 分析 简洁 内容 文章 浏览器 浏览 明显 东西 做法 前缀 单词 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技名片 互联网科技产业 今日互联网科技 互联网络科技有限公司 互联网科技上市公司 上海致骋互联网科技 互联网高科技股票 上海亿帐通互联网科技 互联网科技股午盘股票涨跌 互联网科技公司需要的职位 厦门千工互联网科技有限公司 米聚互联网科技南京有限公司排面 广西互联网科技孵化中心 互联网新科技动漫ppt素材 恒生互联网科技业指数调整周期 广东鹅鹅鹅互联网科技有限公司 三亚科技创新互联网基地 深圳互联网科技园地址 互联网科技品牌 北京品多多互联网科技有限公司 中关村互联网科技集团 互联网科技公司的优势 科技互联网政务服务 金融科技 互联网金融 互联网科技的未来发展 成都仁贤领冠互联网科技有限公司 恒生科技互联网指数分析 互联网第三次科技革命特征 山东星卡互联网科技有限公司官网 互联网企业科技类企业如何做账
0