请不要拐弯抹角 —— CSS3 选择器
Css3 选择器
CSS 选择器用于选择你想要的元素的样式的模式。
属性选择器
语法
[target=-blank]
选择所有使用target="-blank"
的元素[title~=flower]
选择标题属性包含单词”flower”的所有元素[lang|=en]
选择 lang 属性以 en 为开头的所有元素 (以单词开头)a[src^="https"]
选择每一个 src 属性的值以”https”开头的元素(以字母开头)a[src$=".pdf"]
选择每一个 src 属性的值以”.pdf”结尾的元素a[src*="run"]
选择每一个 src 属性的值包含子字符串”run”的元素
代码示例
伪类与伪元素的区别
伪类的效果可以通过添加一个实际的类来达到 伪元素的效果则需要通过添加一个实际的元素才能达到
伪类选择器
:root
: 选择文档的根元素,等同于<html>
元素,建议使用:root
:not(p)
: 选择每个并非 p 元素的元素,用法和 jQuery 中的 not 类似,可以排除某些特定条件的元素:empty
: 选择每个没有任何内容的元素、不在文档树中的元素(包括文本节点):target
: 选择当前活动的元素,锚点选择器(用来匹配被location.hash
选中的元素)均有弊端,即如果当前位置元素不是前面所修饰的元素,那么无效
:first-child
: 指定只有当某元素是其父级的第一个子级的样式。last-child
: 选择某元素是其父级的最后一个子级。:nth-child(n)
: 选择第 n 个子元素,n 代表变量自然数(可填表达式 2n+1):nth-last-child(n)
: 从后往前数,选择第 n 个子元素,n 代表变量自然数(可填表达式 2n+1)
限制了类型,即在所修饰元素的类型下选择特定位置的元素
:first-of-type
: 第一个子元素:last-of-type
: 最后一个子元素:nth-of-type(n)
: 第 n 个子元素,n 代表变量自然数:nth-last-of-type(n)
: 从后往前数,第 n 个子元素,n 代表变量自然数
: 唯一子元素选择器,选择是独生子的子元素,即该子元素不能有兄弟元素,它的父级只有他一个直接子元素
**注意:**选择的元素是独生子子元素,而非唯一子元素的父元素
:only-of-type
: 如果要选择第某类特定的子元素(p)在兄弟节点中是此类元素唯一个的话,就需要用到这个属性了在 Web 表单中,有些表单元素有可用(‘enabled’)和不可用(‘disabled’)状态,比如输入框,密码框,复选框等。在默认情况下,这些表单元素都处在可用状态。那么我们可以通过伪类元素器
进行选择,
则相反。
:enabled
: 可用的元素:disabled
: 不可用的元素
: 选择框的被选中状态
**注:**checkbox,radio 的一些默认状态不可用属性进行改变,如边框颜色
: 选中只读的元素
<input type="text" readonly="readonly"/>
:read-write
: 选中非只读的元素
代码示例
伪元素选择器
::before
: 在元素之前插入内容::after
: 在元素之后插入内容::first-line
: 第一行::first-letter
: 第一个字母: 匹配元素中被用户选中或处于高亮状态的部分
火狐浏览器必须加
-moz-
(-moz-::selection
)
代码示例
两者的区别
CSS 伪类用于向某些选择器添加特殊的效果 CSS 伪元素用于将特殊的效果添加到某些选择器
伪类的效果可以通过添加一个实际的类来达到 伪元素的效果则需要通过添加一个实际的元素才能达到
CSS3 明确规定伪类用一个冒号(‘
:
‘)来表示 伪元素用两个冒号(‘::
‘)来表示
条件选择器
>
: 直接子元素+
: 紧挨着的兄弟节点~
: 后面的兄弟节点
代码示例
最后更新于