CSS选择器

2017-02-15  本文已影响0人  wongsing

1.class 和 id 的使用场景?

id:指定标签的唯一标识

①根据提供的唯一id号,快速获取标签对象。如:document.getElementById(id)

②用于充当label标签for属性的值:示例:<label for="userid">用户名:</label>,表示单击此label标签时,id为userid的标签获得焦点。

3. class:指定标签的类名

应用场景

①CSS操作,把一些特定样式放到一个class类中,需要此样式的标签,可以在添加此类。

2.CSS选择器常见的有几种?

id选择器

类选择选择器(class)

属性选择器(【   】)

派生选择器(E元素  子元素) 选择E元素下的所有子元素

子元素选择器(E>子元素) 选择父元素直接对应的第一个子元素 

伪类选择器(E:hover等等)

标签选择器(E{    })

分组选择器(E,F)/*加个,*/

通用选择器(* {     })/*包括所有内容*/

3.选择器的优先级是怎样的?对于复杂场景如何计算优先级?

精确到越详细权重越高

1.加!important  2.style写在标签的内联样式 3.id选择器 4.类选择器class 5.伪类选择器 6.属性选择器  7.标签 8.通配符选择器 9. 浏览器自定义

根据组合选择器按照以下规则统计各类选择器的个数:

行内样式 --> 统计为a

ID选择器 --> 统计为b

类、属性选择器、伪类选择器 --> 统计为c

标签选择器、伪类选择器 --> 统计为d

先比较a值的大小,a值大的则优先级高;如果a值相等,则再比较b值的大小,b值大的优先级高;如果b值相等,则比较c值的大小,c值大的优先级高;如果c值相等,则比较d值的大小,d值大的优先级高;

4.a:link, a:hover, a:active, a:visited 的顺序是怎样的? 为什么?

a:link {color: #FF0000} /* 未访问时的状态 */

a:visited {color: #00FF00} /* 已访问过的状态 */

a:hover{color: #FF00FF} /* 鼠标移动到链接上时的状态 */

a:active {color: #0000FF} /* 鼠标按下去时的状态 */

爱恨原则”(LoVe/HAte),即四种伪类的首字母:LVHA。 

当鼠标移动到a标签上,此时与标签颜色相关的选择器有:a:link,a:visited,a:hover,这三个选择器拥有相同的优先级,但是被写在最后的选择器会覆盖掉之前的选择器,因此要想实现“当鼠标移动到a标签上变换颜色”的效果,需要将a:hover置于 a:link 和 a:visited 之后

当鼠标点击a标签,此时与标签颜色相关的选择器有:a:link,a:visited,a:hover和a:active,这四个选择器拥有相同的优先级,但是被写在最后的选择器会覆盖掉之前的选择器,因此要想实现“当鼠标点击a标签时变换颜色”的效果,需要将a:active置于a:link,a:visited,a:hover 之后

5.以下选择器分别是什么意思?

6.列出你知道的伪类选择器

E:first-child:匹配元素E的第一个子元素

E:link :匹配素有未被点击的链接

E:visited :匹配所有已经被点击的链接

E:active :匹配鼠标已经在其上按下,但是还没有释放的E元素

E:hover :匹配鼠标悬停其上的E元素

E:focus :匹配获得当前焦点的E元素

E:lang(c) :匹配lang属性等于c的元素

E:enabled :匹配表单中可用的元素

Edisabled :匹配表单中禁用的元素

E:checked: 匹配表单中被选中的radio或checkbox元素

E:selection: 匹配用户当前选中的元素

E:root :匹配文档的根元素,对于HTML文档,就是HTML元素

E:nth-child(n) :匹配其父元素的第n个子元素,第一个编号为1

E:nth-last-child :匹配其父元素的第n个子元素,第一个编号为1

E:nth-of-type(n):与:nth-child作用类似,但是仅匹配使用同种标签的元素

E:nth-last-of-type(n) :与nth-last-child作用相似,但是仅匹配使用同种标签的元素

E:first-child:匹配父元素的第一个子元素

E:last-child :匹配父元素的最后一个子元素

E:first-of-type :即 E:nth-of-type(1)

E:last-of-type :即 E:nth-last-of-type(1)

E:only-child :匹配父元素下仅有的一个子元素

E:only-of-type :匹配父元素下使用同种标签的唯一一个子元素

伪元素选择器

E::first-line :匹配E元素内容的第一行

E::first-letter :匹配E元素内容的第一个字母

E::before :在E元素之前插入生成的内容

E::after :在E元素之后插入生成的内容

7.div:first-child和div:first-of-type的作用和区别

:first-child匹配的是某父元素的第一个子元素,可以说是结构上的第一个子元素。

:first-of-type匹配的是某父元素下相同类型子元素中的第一个,比如 p:first-of-type,就是指所有类型为p的子元素中的第一个。这里不再限制是第一个子元素了,只要是该类型元素的第一个就行了。

8.运行如下代码,解析下输出样式的原因。

上一篇下一篇

猜你喜欢

热点阅读