CSS3高级选择器用法

CSS3高级选择器用法CSS3高级选择器用法介绍

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

CSS3的高级选择器在开发中还是蛮有用的,下面我们来看一下都有哪些高级选择器。

1、相邻兄弟选择器

作用:匹配指定元素的相邻【下一个】兄弟元素

语法:由 + 号来充当连接符,如 选择器1+选择器2

示例:html代码如下

<div id="d1">
   <div id="d2">我是d2</div>
   <p id="p1">我是p1</p>
   <ul id="u1">
      <li>HTML</li>
      <li>css</li>
      <li>Javascript</li>
   </ul>
   <ul id="u2">
      <li>HTML</li>
      <li>css</li>
      <li>Javascript</li>
   </ul>
</div>

我们用相邻兄弟原则器选择id为p1的元素下面id为u1的元素,给它背景设置为红色

#p1+#u1{
 
 background:#f00;}

效果如下:

CSS3高级选择器用法

2、通用兄弟选择器

作用:匹配到某元素【后面的】 【所有指定】兄弟元素

语法:由~充当结合符,如 选择器1~选择器2

示例:

我们用通用兄弟选择器选择id为p1的元素后面所有的ul元素,将其背景设置为红色

#p1~ul{
 
 background:#f00;}

效果如下:

CSS3高级选择器用法

3、属性选择器

3.1、[attribute]:匹配具有attribute属性的元素

如:div[id]:匹配所有具备id属性的div

3.2、element[attr1][attr2] 匹配所有具备attr1属性以及attr2属性的element元素

如:div[id][class] 匹配同时具备id和class属性的div

3.3、element[attr=value] 匹配attr属性值为value的element元素

如:input[type=text] 或 input[type=’text’],匹配type为text的input元素

3.4、element[attr~=value] 匹配attr属性值为一个值列表,并在此列表中包含单词value的element元素

如:

<div class=”content warning important lf”></div>

div[class~=content]:   能匹配
div[class~=lf]:
              能匹配
div[class~=on]:
           不能匹配

3.5、element[attr^=value] 匹配attr属性值,以value开始的element元素

如:div[class^=my]: 匹配class属性值以my开始的div元素

3.6、element[attr$=value] 匹配attr属性值,以value作为结束的element元素

如:div[class$=over]: 匹配class属性值以over作为结束的div元素

3.7、element[attr*=value] 匹配attr属性值中【包含】value的element元素

如:div[class*=on] 匹配class属性值中包含on的div元素

4、伪类选择器

4.1、目标伪类:突出显示活动的锚点元素

语法::target

如:

a:target{}

div:target{}

4.2、元素状态伪类:多数用在表单控件上,去匹配表单控件的不同状态

4.2.1、:enabled       匹配每个已启用元素(所有表单控件)

4.2.2、:disabled      匹配每个被禁用元素(所有表单控件)

4.2.3、:checked      匹配每个已被选中的input元素(适用radio和checkbox)

4.3、结构伪类:从标记的层次结构来匹配元素

4.3.1、:first-child     匹配属于父元素中的首个子元素

4.3.2、:last-child     匹配属于其父元素中的最后一个子元素

4.3.3、:empty          匹配没有子元素(包含文本内容)的元素

4.3.4、:only-child   匹配属于其父元素中的唯一子元素

4.3.5、:nth-child(n)匹配属于其父元素中的第n个子元素

4.4、否定伪类:将匹配的元素排除在外

语法::not(selector);

5、伪元素选择器

5.1、::first-letter    获取匹配元素的第一个字母(字符)

5.2、::first-line      获取匹配元素的首行

5.3、::selection    匹配用户选取的部分

注意:W3C规定所有的伪类选择器全部使用一个冒号,在CSS3中,所有的伪元素选择器,全部使用两个冒号。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157744.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3G中的TDD与FDD

    3G中的TDD与FDD在现有的3G有三大主流技术标准:WCDMA、CDMA2000和TD-SCDMA,虽然它们都属于CDMA技术,但是从它们的主要应用方面可分为两类:WCDMA、CDMA2000属于FDD标准;而TD-SCDMA属于TDD标准。另外,3.5G的HSDPA系统中兼有FDD和TDD,而4G的前驱MobileWiMAX兼有TDD、FDD、半双工FDD。国际上给WCDMA分的…

    2022年5月4日
    51
  • 测试用例设计的八大要素「建议收藏」

    测试用例设计的八大要素「建议收藏」1、测试用例的八大要素用例编号和其他编号一样,测试用例编号是用来唯一识别测试用例的编号,要求具有易识别和易维护性,用户可以很容易根据用例编号获取到相应用例的目的和作用,在系统测试用例中,编号的一般格式为A-B-C-D这几部分的作用分别如下:A:产品或项目类型,如CMS(内容管理系统)、CRM(客户关系管理系统)B:一般用来说明用例的属性,如ST(系统测试)、IT(集成测试)、UT(单元测试)C:测试需求的表示,说明该用例针对的需求点,可包括测试项和测试子项等,如文档管理、客户投诉信息管理等。

    2022年6月28日
    35
  • protel相关资料

    protel相关资料PCB设计技巧问与答Q:请问就你个人观点而言:针对模拟电路(微波、高频、低频)、数字电路(微波、高频、低频)、模拟和数字混合电路(微波、高频、低频),目前PCB设计哪一种EDA工具有较好的性能价格比(含仿真)?可否分别说明。A:限于本人应用的了解,无法深入地比较EDA工具的性能价格比,选择软件要按照所应用范畴来讲,我主张的原则是够用就好。常规的电路设计,INNOVEDA的PA

    2022年6月7日
    34
  • 2021年计算机保研-假211真双非三无的失败保研经历(武大/复旦/计算所/华科/同济/上交)

    2021年计算机保研-假211真双非三无的失败保研经历(武大/复旦/计算所/华科/同济/上交)从知乎@孤芳倚花红转过来啦~一、个人情况学校:华中地区211,计算机科学与技术(感觉华中211CS水平都差不多)。英语:CET4-534,预推免CET6-447。夏令营的时候没有六级真的太伤了,第一次裸考没过,第二次忘了报名,幸亏第三次考过了预推免可以用上。成绩:专业排名3/140,预推免2/147。211只有rk1和非rk1,非rk1≈没学上。科研:国家级、省级大创各一项,均是负责人,前者OD,后者SOD。没有论文,但是有一定CV和DL的基础,不惧面试。竞赛:省一及以上数学建模、数学竞赛奖项

    2022年7月25日
    68
  • Android数据库加密

    Android数据库加密Android数据库加密一、简介SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的读写效率、资源消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如Android、iOS)。Android系统内置了SQLite数据库,并且提供了一整套的API用于对数据库进行增删改查操作,具体就不详细说明了。然而,Android平台自带的SQLite有一个致命的缺陷:…

    2022年5月13日
    44
  • EclipseSVN更新和提交

    EclipseSVN更新和提交EclipseSVN更新和提交阅读钱请先阅读前一篇文章:eclipse安装与SVN插件的安装以及分享和检出更多资源可关注好男人的微信公众号:“菜鸟资源分享”1、上部分结束后,此时我们在Tom_work中修改项目代码,完后提交到服务器端,在重新打开一个eclipse,工作空间选择Jeery_work,完后再Jeery_work点击更新(在点击更新前先将未修改的项目文件导入到eclipse中,…

    2022年10月10日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号