分享

6-4 CSS选择器

 时间剧毒 2019-06-07

什么是选择器

当我们定义一条样式时候,这条样式会作用于网页当中的某些元素,所谓选择器就是样式作用的对象.

插入样式的三种方法 

1.内联样式表(行内)

2.内部样式表(style中)

3.外部样式表

■创建一个外部样式表

■在head中使用link元素插入样式表

CSS语法 

•单一元素的多个属性之间用分号隔开;若只有一个可以省略

•多个元素之间用逗号隔开

•如果值为若干单词,则要给值加引号;除了这种情况外其他时候不可以加引号

•css代码的注释

•样式的优先顺序:

◦设计者设计的样式>浏览器用户自定义的样式>浏览器自设的样式

◦强制优先级:!important

1.行内(内联)样式

2.内部样式:style中的样式

3.外部样式

•层叠、继承、冲突

◦外观样式--比如字体、颜色可以继承;而布局有关的样式不可以继承,比如边框等

•可以在同一个 HTML 文档内部引用多个外部样式表。

CSS选择器 

•常用选择器 

1.通用选择器:“*”           

2.元素选择器                 

3.id选择器:前面有一个 # 号   

4.类选择器:前面加符号 .       

■给一个元素加上多个类名

■指定某一特定的类

*{color: red;}

div p{color: green}

#div1{padding: 15px;background: blue}

.class2{background: green;padding: 20px;}

*ul li{color: red;border: 1px solid}

*ul>li{color: red} 

div,ul{color: red}

*h2+p{color: green} 

5.

•属性选择器 

◦E[att] :选择具有att属性的E元素。需要选择有某个属性的元素,而不论属性值是什么,可以使用简单属性选择器。

可以根据多个属性进行选择,只需将属性选择器链接在一起即可。

◦E[att="val"]:选择具有att属性且属性值等于val的E元素。进一步缩小选择范围,(只选择有特定属性值的元素。)

◦E[att~="val"]:选择具有att属性且属性值有多个,其中一个的值等于val的E元素。

◦E[att|="val"]:选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。  

◦E[att^="val"]:选择具有att属性且属性值为以val开头的字符串的E元素。

◦E[att$="val"]:选择具有att属性且属性值为以val结尾的字符串的E元素。

◦E[att*="val"]:选择具有att属性且属性值为包含val的字符串的E元素。

input[value][style]{background: green} 

input[value='vip1']{background: red} 

input[style~='15px']{background: red} 

p[lang|="en"]{color: red}

p[lang|="en"]{color: red}

/*input[value][style]{background: green}*/

/*input[value='vip1']{background: red}*/

/*input[style~='15px']{background: red}*/

/*p[lang|="en"]{color: red}*/

/*input[value^="vip"]{background: green}

a[href^="http"]{color: green}*/

/*a[href$=".cn"]{color: red}*/

input[value*='vip']{background: red}

•关系选择器 

◦后代选择器(包含选择器)ul li{}:后代选择器又称为包含选择器。后代选择器可以选择作为某元素后代的元素。

◦子元素选择器ul>li:与后代选择器相比,子元素选择器只能选择作为某元素子元素的元素,缩小了选择范围

◦相邻选择符:E+F:选择紧贴在E元素之后F元素。

◦兄弟选择器E~F:选择E元素所有兄弟元素F。(只可以选择到之后的元素)

•伪元素选择器 

◦E:first-letter/E::first-letter 设置元素内的第一个字符的样式。

◦E:first-line/E::first-line设置元素内的第一行的样式。

◦E:before/E::before在每个 E元素的内容之前插入内容。用来和content属性一起使用

◦E:after/E::after在每个E元素的内容之后插入内容。用来和content属性一起使用

◦E::selection设置对象被选择时的颜色。

p::first-letter{font-size: 50px}

p::first-line{color: green}

/*a::before{

content: "点击"

}*/

a::after{

content: url(../img/ss.png)

}

p::selection{background: red}

•伪类选择器 结构伪类选择器 

◦E:first-child 父元素的第一个子元素E。

◦:root:选择文档的根元素。

◦E:last-child:最后一个子元素E。

◦E:only-child:仅有的一个子元素E。

◦E:only-of-type:只有一种类型的子元素。

◦E:nth-child(n):元素的第n个子元素E。

/*:root{background: green}*/

/*li:first-child{color: red}*/

/*li:last-child{color: red}*/

/*li:only-child{color: green}*/

p:only-of-type{color: red}

■可以直接用数值:比如2

■可以用奇数(odd)偶数(even)

■可以用公式3n

◦E:nth-last-child(n):匹配父元素的倒数第n个子元素E。

◦E:first-of-type :匹配同类型中的第一个同级元素E。

◦E:last-of-type:匹配同类型中的最后一个同级元素E。

◦E:nth-of-type(n):匹配同类型中的第n个同级兄弟元素E。

◦E:nth-last-of-type(n):匹配同类型中的倒数第n个同级兄弟元素E。

◦E:empty :匹配没有任何子元素(包括text节点)的元素E。

/*tr:nth-child(ogg){background:red}*/

div:empty{width: 300px;height: 400px;background: red}

/*#div1>h3:nth-child(2){color:red}*/

/*tr:nth-child(even){background:red}*/

/*tr:nth-last-child(3){background:green}*/

/* p:first-of-type{color: red}*/

/*p:nth-of-type(2){color: red}*/

div:empty{width:300px;height:200px;background: red}

UI伪类及其他选择器 

◦E:active 向被激活的元素添加样式。

◦E:hover 当鼠标悬浮在元素上方时,向元素添加样式。

◦E:link 向未被访问的链接添加样式

◦E:visited 向已被访问的链接添加样式。

◦E:focus 向拥有键盘输入焦点的元素添加样式。

◦E:lang向带有指定 lang 属性的元素添加样式。

◦input:checked 选择每个被选中的input元素。

◦input:disabled 选择每个禁用的input元素

◦input:enabled 选择每个启用的input元素。

◦input:disabled 选择每个禁用的input元素

◦#E:target 选择当前活动的元素(某个被链接的元素)。

◦:not(E) 选择E元素之外的每个元素。

a:active{background: green}

a:hover{background: blue}

a:link{color: red}

a:visited{color: #9a9a9a};

p:lang(en){color: red}

input:checked{width: 60px;height: 60px}

input:enabled{background: #e6e6fa}

input:disabled{background: #808080}

:not(input){color: green}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多