前言

css选择器非常之多,常见的如class选择器,id选择器,标签选择器等等。每个的用法都有所区别,虽然很多都能到达同样的效果,但还是有一些更优的选择。

class、id、标签选择器

这个几个就不细说了,class和标签选择器主要用来设置样式上面,id选择器推荐不要用在css样式上,更多是用在js操作dom时,选择元素。
如:

div{
    background: #fff;}.list {
    color: red;}

$('#li').html('<span>web秀</span>')

element element

div p选择<div>元素内部的所有<p>元素。

element>element

div>p选择父元素为<div>元素的所有<p>元素。

element+element

div+p选择紧接在<div>元素之后的所有<p>元素。

[attribute]

[target]选择带有 target 属性所有元素。

[attribute=value]

[target=_blank]选择 target="_blank" 的所有元素。

[attribute~=value]

[title~=title]选择 title 属性包含单词 “flower” 的所有元素。

[attribute|=value]/[attribute^=value]

[lang|=en]选择 lang 属性值以 “en” 开头的所有元素。

[attribute$=value]

p[src$="e"]选择其 src 属性以 “e” 结尾的所有<p>元素。

[attribute*=value]

p[title*="abc"]选择其 title 属性中包含 “abc” 子串的每个<p>元素。

element1~element2

p~div选择前面有<p>元素的每个<div>元素。

A标签伪类选择器

:linka:link 所有未被访问的链接(a标签的默认样式)。

:visiteda:visited 所有已被访问的链接。

:activea:active 点击后没有松开鼠标的链接。

:hovera:hover 鼠标指针位于其上的链接。

:before / :after

在元素的内容之前插入内容。

div:before{
    content: '';
    display: block;
    background: red;
    width: 30px;
    height: 10px;}div:after{
    content: '';
    display: block;
    background: green;
    width: 30px;
    height: 10px;}

:first-child

p:first-child匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。(注意和:first-of-type做区分)

:first-of-type

p:first-of-type匹配的是该类型的第一个,类型是指什么呢,就是冒号前面匹配到的东西,比如 p:first-of-type,就是指所有p元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了,当然这些元素的范围都是属于同一级的,也就是同辈的。(注意和:first-child做区分)

:last-child

p:last-child表示其父元素的最后一个子元素,且这个元素是css指定的元素,才可以生效(注意和:last-of-type做区分)

:last-of-type

p:last-of-type代表在一群兄弟元素中的最后一个指定类型的元素。(注意和:last-child做区分)

:only-child

p:only-child选择器选择的是父元素中只有一个子元素,而且只有唯一的一个子元素

:only-of-type

p:only-of-type表示一个元素他有很多个子元素,而其中只有一种类型的子元素是唯一的

:nth-child(n)

p:nth-child(2)选择属于其父元素的第二个子元素的每个<p>元素。

:nth-child(odd)或者:nth-child(2n+1)奇数行、:nth-child(even)或者:nth-child(2n+2)偶数行

:nth-last-child(n)

p::nth-last-child(n)同上,从最后一个子元素开始计数。

:empty

p:empty选择没有子元素的每个<p>元素(包括文本节点)。

:not(selector)

:not(p)选择非<p>元素的每个元素。

input状态选择器

:focus获得焦点的 input 元素

:enabled每个启用的 input 元素

:disabled每个禁用的 input 元素

:checked每个被选中的 input 元素


Frank
0 声望0 粉丝

技术文章写的不够通俗易懂,和咸鱼有什么区别。


引用和评论

0 条评论