关注前端达人,与你共同进步

11、X[href="foo"]:精准属性值选择器

上一小节,我们学习了 X[title] 这样的简单属性选择器,如果你想对属性的值进行精准匹配如何做呢,不用担心,CSS为我们提供了精准的属性选择器,比如我们想把特定网址的链接变成绿色,如下代码所示:

a[href="http://www.qianduandaren.com"] {color: #1f6053; /* green */}

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

12、X[href*="xxx"]:匹配部分属性值选择器

有时候我们只需要匹配属性值的一部分,我们可以使用*号的语法,如下段代码所示:

a[href*="qianduandaren"] {color: #1f6053; /* nettuts green */}

上述代码,只有网址链接属性里含有qianduandaren这样值,链接文本的颜色替换成绿色。

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

13、X[href^="http"]:匹配属性值开头的选择器

你是否想过怎么让所有链接旁边加个小图标提示用户是外部链接吗?使用这个选择器让你非常容易做到,如下段代码所示:

a[href^="http"] { background: url(path/to/external/icon.png) no-repeat; padding-left: 10px;}

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

14、X[href$=".jpg"]:匹配属性值结尾的选择器

有匹配属性值开头的选择器,自然有匹配属性值结尾的选择器,比如我们将要匹配所有指向以jpg结尾的图片链接的文本为红色,要记住的是这些样式对gif和png结尾的图片链接是无效的。如下段代码所示:

a[href$=".jpg"] { color: red;}

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

15、X[data-*="foo"]:自定义属性选择器

我们来思考一个问题,拿上面的例子来说,我们要匹配所有指向图片链接的进行应用样式,我们该怎么做?图片的格式比较多,包括Png,jpeg,jpg,gif等等,你也许会想到,这不简单,应用多个选择器不就行了,如下段代码所示:

a[href$=".jpg"],a[href$=".jpeg"],a[href$=".png"],a[href$=".gif"] { color: red;}

虽然实现了需求,你是否觉得很麻烦,要写多个,图片格式很多,万一写漏了怎么办呢?但是有一种解决方案,我们可以使用自定义属性,我们可以在图片的链接标签中添加data-filetype属性,如下所示:

<a href="path/to/image.jpg" data-filetype="image"> Image Link </a>

这样我们就可以使用精准属性值选择器进行匹配了,如下段代码所示:

a[data-filetype="image"] { color: red;}

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

16、X[foo~="bar"]:匹配带有空格属性的值

这个技巧大多数人不会用,但是你使用后,一定会让你的小伙伴对你刮目相看的,波浪号可以选择带有空格的属性,接着上面的例子,比如我们的自定义属性data-info含有external,image 这两个值,并以空格隔开,html结构如下段代码所示:

<a href="path/to/image.jpg" data-info="external image"> Click Me, Fool </a>

接下来我们使用波浪号,进行选择其中的一个属性值,css代码如下:

/* Target data-info attr that contains the value "external" */a[data-info~="external"] { color: red;}

/* And which contain the value "image" */a[data-info~="image"] {border: 1px solid black;}

浏览器兼容性:

  • IE7+

  • Firefox

  • Chrome

  • Safari

  • Opera

17、X:checked:选中状态选择器

css单选按钮和复选按钮的默认样式很有限,如果我们想定义个性化的选择后的状态样式,可以使用选中状态选择器,示例代码如下:

input[type=radio]:checked { border: 1px solid black;}

是不是很简单,这个伪类可以用来定义选中(checked)的元素,比如单选按钮(radio)或多选按钮(checkbox)。

浏览器兼容性:

  • IE9+

  • Firefox

  • Chrome

  • Safari

  • Opera

18、X::after 后置内容元素选择器

伪元素前置元素选择器::before 和 后置内容元素选择器 :: after 属于CSS的高级用法,虽然看着简单,但是灵活用起来可不简单,几乎每天都会有人用这个两个属性做出创意的玩法,最简单的直接的用法,就是在某个元素结束前插入内容,如下段代码所示,在文档末尾加入结束语:

body::after {content: "The End"}

我们还会经常用这个属性清除浮动,算是很高频的用法啦,代码如下,建议收藏使用:

<style>.clearfix::after {  content: '';  display: block;  clear: both;}

.floated {  float: left;}</style>

<div class="clearfix"><div class="floated">float a</div><div class="floated">float b</div><div class="floated">float c</div></div>

浏览器兼容性:

  • IE8+

  • Firefox

  • Chrome

  • Safari

  • Opera

19 X:hover 鼠标悬停状态选择器

这个选择器,用的频率也比较高,想必大家都清楚,正式的叫法应该是用户操作交互伪类:user action pseudo class,比如想给用户鼠标悬停的元素加上样式,你就可以使用此选择器:

小提示:在旧版的IE里,:hover只能用于链接标签。

最常见的交互效果就是,鼠标滑过,链接下面显示下划线:

a:hover { border-bottom: 1px solid black;}

小提示:border-bottom: 1px solid black;比text-decoration: underline;的效果更好。

浏览器兼容性:

  • IE6+ (只能用于链接标签)

  • Firefox

  • Chrome

  • Safari

  • Opera

20 X:not(selector) 否定伪类选择器

前面我们学的都是肯定选择器,如果反过来就是否定选择器,选择不满足条件的元素,比如我们希望选中所有的div,除了一个 id 为 container 的div。我们使用这个选择器就能快速的选择。

div:not(#container) { color: blue;}

浏览器兼容性:

  • IE9+

  • Firefox

  • Chrome

  • Safari

  • Opera

小节

今天的内容就给大家介绍这里,感谢大家的阅读,下篇文章,我将继续和大家分享剩下的10个选择器,敬请期待...

专注分享当下最实用的前端技术。关注前端达人,与达人一起学习进步!

长按关注"前端达人"

这30个CSS选择器,你必须熟记(中)相关推荐

  1. css a标签去掉下划线_这30个CSS选择器,你必须熟记(上)

    CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色.布局.制作出漂亮的阴影效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举的实现,感觉就像魔法师一般, ...

  2. 这30个CSS选择器,你必须熟记(上)

    关注前端达人,与你共同进步 CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色.布局.制作出漂亮的影音效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举 ...

  3. 零基础学Python-爬虫-3、利用CSS选择器爬取整篇网络小说

    本套课程正式进入Python爬虫阶段,具体章节根据实际发布决定,可点击[python爬虫]分类专栏进行倒序观看: [重点提示:请勿爬取有害他人或国家利益的内容,此课程虽可爬取互联网任意内容,但无任何收 ...

  4. Day81:爬虫Scrapy框架之css选择器使用

    css选择器介绍 在css中选择器是一种模式,用于选择需要添加样式的元素,css对html页面中的元素实现一对一,一对多或者多对一的控制,都需要用到css选择器,html页面中的元素就是通过css选择 ...

  5. css选择器是什么?css选择器有哪些类型?

    css选择器在css的学习中无疑是十分重要的,所以,什么是css选择器?css选择器有哪些类型?这是我们必须要掌握的,本篇文章将给大家来介绍关于css选择器的基本定义,以及css选择器有哪些类型. 我 ...

  6. 30个最常用css选择器解析

    你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远远不是css的全部.下面向大家系统的解析css中30个最常用的选择器,包括我们最头痛的浏览器兼容性问题.掌握了它们,才能真正领 ...

  7. css 30 常用选择选择器

    你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远远不是css的全部.下面向大家系统的解析css中30个最常用的选择器,包括我们最头痛的浏览器兼容性问题.掌握了它们,才能真正领 ...

  8. 【转】30个你不可不知的CSS选择器

    一.五大基本选择符 1. *(通配符) *通配符选择器,经常用于css reset(样式重置),清理标签的默认样式,但现在一般不提倡直接使用*了,主要是*会匹配所有标签,相当耗资源.*在css的优先级 ...

  9. css30主要作用,30个你不可不知的CSS选择器小结

    一.全浏览器支持的css选择器(由于很好理解,demo省略) 1.* *通配符选择器,经常用于css reset,即样式重置,清理标签的默认样式,但现在一般不提倡直接使用*了,主要是*会匹配所有标签, ...

最新文章

  1. Python实战案例,requests模块,Python实现获取动态图表
  2. java计算两地距离(公里)
  3. php本地环境搭建软件下载,用EasyPHP本地搭建PHP环境的步骤分享
  4. stm32cubeide ST-LINK_gdbserver _ZTINSt8ios_base7failureB5cxx11E libstdc++.so.6问题解决
  5. FAILED BINDER TRANSACTION
  6. error while loading shared libraries: xxx.so.x 错误的原因和解决办法
  7. 正确的工作流程:我应该使用哪个OAuth 2.0流程?
  8. mysql异常关闭7034,SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数
  9. Java中List与数组互相转换
  10. python入门——P48魔法方法:迭代器
  11. 【JavaScript 笔记 】— 基础语法(数据类型、字符串、数组、对象、Map、Set、iterable、函数基础)
  12. 我也说说刘谦在2010年春晚上的魔术作假
  13. 数据结构与算法之-----二叉树(二)
  14. Kubernetes基于EFK进行统一的日志管理方案
  15. C++ list 基础用法合集;list 增减元素 list删除某一个元素 遍历list
  16. 计算机弹琴游戏,电脑键盘钢琴软件(弹钢琴小游戏)
  17. Jenkins教程:使用Jenkins进行持续集成
  18. ant design pro中click事件传参正确写法(获取事件对象e)
  19. Mac系统运行“exe”文件最简单的解决办法
  20. 读取XML-致冷冽同学

热门文章

  1. js对象是什么?如何理解js对象
  2. CSS进阶(7)- 样式补充
  3. MacBook上如何运行那些尚未在Mac App Store 上架的 iOS/iPadOS 应用程序分享
  4. 华为RS入门2基础命令
  5. Spring Boot Security - Remember Me示例
  6. Drupal网站系统的应用
  7. 项目管理:项目经理如何创建项目日程计划表
  8. ios10苹果手机页面定位不准问题
  9. 基于MinIO/Deleta Lake/Dremio和Superset或Metabase搭建简单的数据湖
  10. java finally关闭文件流_Java如何正确的使用try catch finally关闭文件流的总结