CSS篇-CSS3 选择器总结 及优先级

优先级问题

浏览器初始继承样式 优先级 最低 0 是出生的时候带的

选择器优先级权重
标签选择器1
类 , 伪类选择器 , 属性选择器10
id选择器100
内联样式选择器1000
!important最高大于 1000

常用的选择器总结

1. 通用选择器

选中dom页面中所有的元素
* {padding:0;margin:0}

2. 元素选择器 (以下以element来指代元素标签名

元素标签名称{ 样式声明 }      
选择所有的 元素标签 代表的元素
如下:选择所有的`<p>`元素标签
p {}

3. 类式选择器

.类名{ 样式声明 }
选择所有 class="className"的元素4
.className {}

4. id选择器

#id名称{ 样式声明 }
选择 id="id名称" 的元素
#idName {}

5. 组合选择器

element1,element2 { 样式声明 }
选择所有的 element1 和 element2 元素
div,p{/*选择所有的div 和 p 元素*/}

6. 后代选择器

element1 element2 { 样式声明 }
选择 element1 元素内的所有 element2元素
div p {/* 选择div元素内的所有p元素 */}

7. 子类选择器

element1 > element2 { 样式声明 }
选择所有父级元素是element1元素的 element2元素
div > p {/* 选择所有父级元素是 div 的 p 元素 */}

8. 兄弟选择器

element1 + element2 { 样式声明 }
选择所有紧接着element1元素之后的element2元素
element1 ~ element2 { 样式声明 }
选择element1元素后面所有的 element2元素
div + p {/* 选择所有紧接着 <div> 元素之后的 <p> 元素 */}
div ~ p {/* 选择 <div> 元素后面所有的 <p> 元素 */}

9. 属性选择器 暂时记录以下三种

9.1 [attriBute]
选择所有带有 某种属性的 元素

[target] {/* 选择所有带有target属性元素 */}

9.2 [attriBute=value]
属性等于指定值的元素

[target=name] {/* 选择带有target="_blank"属性的所有元素 */}

9.3 [attriBute~=value]
所有属性值中含有 value的元素

[target~=name] {/* target属性中包含单词 name 的所有元素 */ }

9.4 [attribute|=value]
选择attribute属性 值以value开头的所有元素

[lang|=en]	{ /* 选择 lang 属性值以 "en" 开头的所有元素。*/}

9.5 [attribute^=value]

a[href^="https"] { /* 选择其 src 属性值以 "https" 开头的每个 <a> 元素。 */}

9.6 [attribute$=value]

a[href$=".pdf"]	{ /* 选择其 src 属性以 ".pdf" 结尾的所有 <a> 元素。*/ }

9.7 [attribute*=value]

a[href*="abc"] { /* 选择其 href 属性值中包含 "abc" 子串的每个 <a> 元素 */ }

10. 伪类选择器

10.1 普通伪类选择器

a:link { /* 选择所有未访问过的链接。 */}
a:visited   { /* 选择所有 访问过 的链接 */ } 
a:hover   { /* 鼠标移上div上触发的样式,离开重新恢复 */ } 
a:active    { /* 选择所有的活动链接 */ }   
input:focus { /* 选择具有焦点的输入元素 */ } 

10.2 结构伪类选择器

p:first-of-type	{ /* 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。*/ }
p:first-child { /* 选择每个是其父级的第一个子元素的<p>元素 */}
p::first-letter	{ /* 选择每个 <p> 元素的首字母 */ }
p::first-line	{ /* 选择每个 <p> 元素的首行。 */ }
p:last-of-type	{ /* 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。*/ }
p:last-child { /* 选择每个是其父级最后一个子元素的<p>元素 */}
p:nth-child(2) {/* 选择每个 是其父级的 第二个 子元素的<p>元素 */}
p:nth-last-child(2)	{ /* 同上,从最后一个子元素开始计数 */ }
p:nth-of-type(2) { /* 选择属于其父元素第二个 <p> 元素的每个 <p> 元素 */ }
p:nth-last-of-type(2) { /* 同上,从最后一个子元素开始计数 */ }
p:only-of-type { /* 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。*/ }
p:only-child { /* 选择属于其父元素的唯一子元素的每个 <p> 元素。*/ }

10.3 伪类生成器选择器

div:after { content:"";display:block;}/*在每个 <div> 的内容之后插入内容。*/
div:before {content:"";display:block;}/*在每个 <div> 的内容之前插入内容。*/

11. 否定伪类选择器 :not(selector)

:not(p) { /* 选择每个并非p标签的元素 */ }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值