li:first-child { /* 选择第一个孩子 */ color: pink; } li:last-child { /* 最后一个孩子 */ color: purple; } li:nth-child(4) { /* 选择第4个孩子 n 表明 第几个的意思 */ color: skyblue; }
选取标签带有某些特殊属性的选择器 咱们成为属性选择器css
/* 获取到 拥有 该属性的元素 */ div[class^=font] { /* class^=font 表示 font 开始位置就好了 */ color: pink; } div[class$=footer] { /* class$=footer 表示 footer 结束位置就好了 */ color: skyblue; } div[class*=tao] { /* class*=tao *= 表示tao 在任意位置均可以 */ color: green; } <div class="font12">属性选择器</div> <div class="font12">属性选择器</div> <div class="font24">属性选择器</div> <div class="font24">属性选择器</div> <div class="font24">属性选择器</div> <div class="24font">属性选择器123</div> <div class="sub-footer">属性选择器footer</div> <div class="jd-footer">属性选择器footer</div> <div class="news-tao-nav">属性选择器</div> <div class="news-tao-header">属性选择器</div> <div class="tao-header">属性选择器</div>
input[type=text]html
div[class*=tao]css3
p::first-letter { font-size: 20px; color: hotpink; } /* 首行特殊样式 */ p::first-line { color: skyblue; } p::selection { /* font-size: 50px; */ color: orange; }
四、E::before和E::after浏览器
在E元素内部的开始位置和结束位建立一个元素,该元素为行内元素,且必需要结合content属性使用。spa
div::befor { content:"开始"; } div::after { content:"结束"; }
E:after、E:before 在旧版本里是伪元素,CSS3的规范里“:”用来表示伪类,“::”用来表示伪元素,可是在高版本浏览器下E:after、E:before会被自动识别为E::after、E::before,这样作的目的是用来作兼容处理。code
":" 与 "::" 区别在于区分伪类和伪元素htm
之因此被称为伪元素,是由于他们不是真正的页面元素,html没有对应的元素,可是其全部用法和表现行为与真正的页面元素同样,能够对其使用诸如页面元素同样的css样式,表面上看上去貌似是页面的某些元素来展示,其实是css样式展示的行为,所以被称为伪元素。是伪元素在html代码机构中的展示,能够看出没法伪元素的结构没法审查blog
注意input
伪元素:before和:after添加的内容默认是inline元素**;这个两个伪元素的content
属性,表示伪元素的内容,设置:before和:after时必须设置其content
属性,不然伪元素就不起做用。io