文章目录

  • 1.基本选择器
    • 1.1 子元素选择器
    • 1.2 相邻兄弟元素选择器
    • 1.3 通用兄弟选择器
    • 1.4 群组选择器
  • 2.属性选择器
  • 2.1 选择带有某种属性的元素
    • 2.2 选择属性等于某个特定值的元素
    • 2.3 选择属性中包含特定单词的元素
    • 2.4 选择属性以特定字符串开头的所有元素
    • 2.5 选择属性以特定字符串结尾的所有元素
    • 2.6 选择属性包含特定字符串的所有元素
    • 2.7 选择属性为特定值或以该特定值开头的所有元素
  • 3.伪类选择器
    • 3.1 动态伪类
    • 3.2 UI元素状态伪类
    • 3.3 CSS3结构类
      • first-child
      • last-child
      • nth-child(n)
      • nth-last-child(n)
      • nth-of-type(n)
      • nth-last-of-type(n)
      • first-of-type
      • last-of-type
      • only-child
      • only-of-type
      • empty
    • 3.4 否定选择器
  • 4.伪元素
    • 4.1 first-line
    • 4.2 first-letter
    • 4.3 before
    • 4.4 after
    • 4.5 selection

1.基本选择器

1.1 子元素选择器

只能选择某元素的子元素

父元素>子元素

1.2 相邻兄弟元素选择器

选择紧接在另一元素后的元素,而且他们具有相同的父元素

元素+兄弟相邻元素
<!DOCTYPE html>
<html>
<head><title>练习网页</title><style type="text/css">.main > div{background-color: red;}.main > .one + div{background-color: blue;}</style>
</head>
<body><div class='main'><div class='one'>1</div><div class='two'>2</div><div class='three'>3</div></div>
</body>
</html>

1.3 通用兄弟选择器

选择某元素后面的所有兄弟元素,而且他们具有一个相同的父元素

元素~后面所有兄弟相邻元素
<style type="text/css">.main > div{background-color: red;}.main > .one ~ div{background-color: blue;}</style>

1.4 群组选择器

将具有相同样式的元素分组在一起,每个选择器之间使用逗号隔开

<!DOCTYPE html>
<html>
<head><title>练习网页</title><style type="text/css">h1,div{background-color: blue;}</style>
</head>
<body><div class='one'>1</div><div class='two'>2</div><div class='three'>3</div><span>4</span><h1>5</h1>
</body>
</html>

2.属性选择器

2.1 选择带有某种属性的元素

div[class]{background-color: lightblue;
}

2.2 选择属性等于某个特定值的元素

div[class='one']{background-color: lightblue;
}

2.3 选择属性中包含特定单词的元素

注意:是包含某个单词,而不是字符串中包含某个子字符串
例如 div[class~='t'] 选择的是class属性中含有t这个单词的,例如class='t',class='t three',匹配不到类似于class='three' ,class='two'这类在字符串中包含的。

<!DOCTYPE html>
<html>
<head><title>练习网页</title><style type="text/css">div[class~='t']{background-color: lightblue;}</style>
</head>
<body><div class='one t'>1</div><div class='two'>2</div><div class='three t'>3</div><span>4</span><h1>5</h1><div>6</div>
</body>
</html>

2.4 选择属性以特定字符串开头的所有元素

div[class^='t']{background-color: lightblue;
}

2.5 选择属性以特定字符串结尾的所有元素

div[class$='t']{background-color: lightblue;
}

2.6 选择属性包含特定字符串的所有元素

div[class*='t']{background-color: lightblue;}

2.7 选择属性为特定值或以该特定值开头的所有元素

div[class|='t']{background-color: lightblue;
}

3.伪类选择器

3.1 动态伪类

这些伪类并不存在于HTML中,只有当用户和网站交互的时候才能体现出来。
锚点伪类::link :visited
用户行为伪类: :hover :active :focus

<!DOCTYPE html>
<html>
<head><title>练习网页</title><style type="text/css">div[class*='t']{background-color: lightblue;}.main :hover {background-color: pink;};</style>
</head>
<body><div class='main'><div class='one t'>1</div><div class='two'>2</div><div class='three t'>3</div><span>4</span><h1>5</h1><div>6</div></div>
</body>
</html>


红色箭头代表鼠标停留位置

3.2 UI元素状态伪类

:enabled :disabled :checked

3.3 CSS3结构类

first-child

element:first-child

选择其父元素的首个子元素的每个element元素

<body><div>0</div><div class='main'><div class='one t'>1</div><div class='two'>2</div><div class='three t'>3</div></div>
</body>
div:first-child{background-color: pink;}

只要是属于父元素的第一个div,都会匹配

last-child

div:last-child{background-color: pink;}
<body><div>0</div><div class='main'><div class='one t'>1</div><div class='two'>2</div><div class='three t'>3</div></div><div>4</div>
</body>

nth-child(n)

匹配属于其父元素的第n个子元素,不论元素类型

nth-child(odd) 匹配奇数
nth-child(even)匹配偶数

nth-last-child(n)

与4.3类似

nth-of-type(n)

匹配属于父元素的特定类型的第n个子元素的每个元素

nth-last-of-type(n)

与4.5类似

first-of-type

last-of-type

only-child

匹配属于其父元素的唯一子元素的每个元素
意思就是:仅匹配独生子,不能有兄弟元素

only-of-type

匹配属于其父元素的特定类型的唯一子元素的每个元素
意思就是:仅匹配独生子,但可以有兄弟元素,只要兄弟元素不与他是同一类型即可匹配

empty

匹配没有子元素(包括文本节点)的每个元素

3.4 否定选择器

:not(element/selector)选择器匹配非指定元素/选择器的每个元素

父元素:not(子元素/子选择器)

例如:a:not(:last-of-type){...}

4.伪元素

伪元素用于向某些选择器设置特殊效果

4.1 first-line

element::first-line 对element元素中的第一行文本进行格式化

4.2 first-letter

element::first-letter 对element元素中的第一个字符进行格式化

4.3 before

element::before 对element元素前面插入新内容,常与content配合使用

4.4 after

与4.3类似

4.5 selection

用于设置在浏览器中选中文本后的背景色与前景色

HTML5新增的几种选择器详解相关推荐

  1. HTML5新增标签的汇总与详解

    趁着一点闲暇时间,把HTML5的新增标签整理了一下,用了表格的形式展现,分别归纳了各标签的用法及属性分析.这样方便各位以后在运用HTML5标记遇到疑惑时,直接上来对照看下就明了了,希望对大家有帮助哦. ...

  2. css2和css1,CSS1,CSS2选择器详解

    第一.CSS选择器: 1.元素选择器(也叫标签选择器,是最基本的选择器) html{background-color: red;} div{background-color: yellow;} 2.I ...

  3. html5中的empty是啥,什么是empty选择器?empty选择器详解

    本篇文章给大家带来的内容是关于什么是empty选择器?empty选择器详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在CSS3中,:empty选择器用于选择一个不包含任何子元素 ...

  4. 万字长文的Redis五种数据结构详解(理论+实战),建议收藏。

    本文脑图 前言 Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库.缓存.消息中间件,这么优秀的东西一定要一点一点的吃透它. 关于Redis的文章之前也写过三篇,阅读量和读者的反映都还 ...

  5. 前端实现动画的6种方式详解

    前端实现动画的6种方式详解 一.总结 一句话总结:一般是css样式改变加setInterval 二.[前端动画]实现动画的6种方式 通常在前端中,实现动画的方案主要有6种: javascript直接实 ...

  6. [redis] 10 种数据结构详解

    [redis] 10 种数据结构详解 简介 5种常见数据结构 string: 最常见的 string key value list: 双向链表 set: 集合- zset: 有序集合 hash: 类似 ...

  7. HTML5实现视频直播功能思路详解

    HTML5实现视频直播功能思路详解 最近视频直播比较火,发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前以 HLS 为主,PC端则以 RTMP 为主实时性较好,接下 ...

  8. 站长在线Python精讲:在Python中格式化字符串的两种方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...

  9. 23 种设计模式详解

    转自原文 23 种设计模式详解(全23种) 设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种: 工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种: 适配 ...

  10. R语言中如何计算C-Statistics?几种计算方法详解

    R语言中如何计算C-Statistics?几种计算方法详解 目录 R语言中如何计算C-Statistics? #包导入 #数据加载编码

最新文章

  1. C语言学习 - 字节对齐
  2. 机器学习笔记:反向传播
  3. SQL Server 日志传送[转载]
  4. SQL Server 2008 允许远程链接 解决方法
  5. centos7,google身份验证
  6. 2017将转行进行到底
  7. 获取ftp服务器的系统编码,ftp服务器编码问题
  8. primitive types
  9. java安装证书文件_Java安装证书文件
  10. JavaEE 企业级分布式高级架构师(七)MongoDB学习笔记(3)
  11. 学计算机软件编程就业前景,2021计算机编程就业前景好吗 有哪些就业方向
  12. 扫码枪扫码直接提交ajax,js监听页面扫码枪
  13. panabit之MAC管控
  14. dell计算机的硬盘如何分区,戴尔电脑分盘怎么分区
  15. python修改电脑桌面壁纸_python设置windows桌面壁纸的方法
  16. 大数据十大“关键词”
  17. can和could的用法_情态动词can和could的用法及例句
  18. 视频剪辑,教你给每个视频画面上添加透明图片
  19. 2022-2027年中国公共图书馆数字化行业市场全景评估及发展战略规划报告
  20. java用数组显示周期性波形,电压uI的周期性波形如图所示,则灯L的情况为

热门文章

  1. 原创 VPP使用心得(十六)静态路由添加流程
  2. 网页播放器代码集中营(2)
  3. 回忆杀:那些年,山寨机,暗号*#220807#,和玩过的mrp游戏
  4. Data Binding 指南
  5. SocksCap64全局代理设置教程
  6. DELPHI利用WMI获取主板参数
  7. 【NA】高斯积分公式(二)
  8. SnagIt9.0过了适用期,弹出关于的窗口解决办法
  9. 杰·亚伯拉罕的产品营销35种策略完整版
  10. cocosBuilder使用总结