HTML5新增的几种选择器详解
文章目录
- 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新增的几种选择器详解相关推荐
- HTML5新增标签的汇总与详解
趁着一点闲暇时间,把HTML5的新增标签整理了一下,用了表格的形式展现,分别归纳了各标签的用法及属性分析.这样方便各位以后在运用HTML5标记遇到疑惑时,直接上来对照看下就明了了,希望对大家有帮助哦. ...
- css2和css1,CSS1,CSS2选择器详解
第一.CSS选择器: 1.元素选择器(也叫标签选择器,是最基本的选择器) html{background-color: red;} div{background-color: yellow;} 2.I ...
- html5中的empty是啥,什么是empty选择器?empty选择器详解
本篇文章给大家带来的内容是关于什么是empty选择器?empty选择器详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在CSS3中,:empty选择器用于选择一个不包含任何子元素 ...
- 万字长文的Redis五种数据结构详解(理论+实战),建议收藏。
本文脑图 前言 Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库.缓存.消息中间件,这么优秀的东西一定要一点一点的吃透它. 关于Redis的文章之前也写过三篇,阅读量和读者的反映都还 ...
- 前端实现动画的6种方式详解
前端实现动画的6种方式详解 一.总结 一句话总结:一般是css样式改变加setInterval 二.[前端动画]实现动画的6种方式 通常在前端中,实现动画的方案主要有6种: javascript直接实 ...
- [redis] 10 种数据结构详解
[redis] 10 种数据结构详解 简介 5种常见数据结构 string: 最常见的 string key value list: 双向链表 set: 集合- zset: 有序集合 hash: 类似 ...
- HTML5实现视频直播功能思路详解
HTML5实现视频直播功能思路详解 最近视频直播比较火,发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前以 HLS 为主,PC端则以 RTMP 为主实时性较好,接下 ...
- 站长在线Python精讲:在Python中格式化字符串的两种方法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...
- 23 种设计模式详解
转自原文 23 种设计模式详解(全23种) 设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种: 工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种: 适配 ...
- R语言中如何计算C-Statistics?几种计算方法详解
R语言中如何计算C-Statistics?几种计算方法详解 目录 R语言中如何计算C-Statistics? #包导入 #数据加载编码
最新文章
- C语言学习 - 字节对齐
- 机器学习笔记:反向传播
- SQL Server 日志传送[转载]
- SQL Server 2008 允许远程链接 解决方法
- centos7,google身份验证
- 2017将转行进行到底
- 获取ftp服务器的系统编码,ftp服务器编码问题
- primitive types
- java安装证书文件_Java安装证书文件
- JavaEE 企业级分布式高级架构师(七)MongoDB学习笔记(3)
- 学计算机软件编程就业前景,2021计算机编程就业前景好吗 有哪些就业方向
- 扫码枪扫码直接提交ajax,js监听页面扫码枪
- panabit之MAC管控
- dell计算机的硬盘如何分区,戴尔电脑分盘怎么分区
- python修改电脑桌面壁纸_python设置windows桌面壁纸的方法
- 大数据十大“关键词”
- can和could的用法_情态动词can和could的用法及例句
- 视频剪辑,教你给每个视频画面上添加透明图片
- 2022-2027年中国公共图书馆数字化行业市场全景评估及发展战略规划报告
- java用数组显示周期性波形,电压uI的周期性波形如图所示,则灯L的情况为