1. class 和 id 的使用场景?
- class:类选择器,不限于只针对单个元素使用,若有若干个元素要使用相同样式可以定义相同class名。
- id:ID选择器,每个标签有且只有一个id,且不能和其他标签重名,所以id选择器只能控制单个元素。
2. CSS选择器常见的有几种?
| 选择器 |
含义 |
| element |
标签选择器 |
| * |
通配符选择器 |
| .class |
类选择器 |
| #id |
ID选择器 |
| 选择器,选择器 |
多元素选择器 |
| 选择器 选择器 |
后代选择器 |
| E[attr],E[attr=value] |
属性选择器 |
| E: |
伪类选择器 |
| E:before,E:after |
伪元素选择器 |
3. 选择器的优先级是怎样的?对于复杂场景如何计算优先级?
| 优先级 |
选择器 |
| 1 |
!important:在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式 |
| 2 |
内联样式:style="..." |
| 3 |
ID选择器:#id |
| 4 |
类选择器:.class |
| 5 |
伪类选择器:E: |
| 6 |
属性选择器 |
| 7 |
标签选择器:div |
| 8 |
通配符选择器:* |
| 9 |
浏览器自定义 |
4. a:link, a:hover, a:active, a:visited 的顺序是怎样的? 为什么?
正确的顺序为a:link、a:visited、a:hover、a:active (其中,link和visited可以互换)
1.鼠标经过的“未访问链接”同时拥有a:link、a:hover两种属性,后面的属性会覆盖前面的属性定义;
2.鼠标经过的“已访问链接”同时拥有a:visited、a:hover两种属性,后面的属性会覆盖前面的属性定义;
所以说,a:hover定义一定要放在a:link、a:visited的后面,
5. 以下选择器分别是什么意思?
| 选择器 |
含义 |
| #header{} |
Id=header的元素 |
| .header{} |
class=header的元素 |
| .header .logo{} |
header元素的子元素中类为logo的元素 |
| .header.mobile{} |
class包含header和mobile的元素 |
| .header p, .header h3{} |
匹配两个类型的元素,类型1是header类的后代p标签,类型2是header类的后代h3标签 |
| #header .nav>li{} |
id为header的子元素中,class为nav的直接子元素为li的元素 |
| #header a:hover{} |
id为header的子元素a在hover状态(鼠标悬停其上)下的样式 |
| #header .logo~p{} |
id为header的子元素中,类名为logo的元素之后的同级元素中,的p标签 |
| #header input[type="text"]{} |
id为header的子元素中,input的type属性为"text"的元素集合 |
6. 列出你知道的伪类选择器
| 伪类选择器 |
含义 |
| E:first-child |
元素E的第一个子元素 |
| E:nth-child(n) |
元素E的第n个子元素 |
| E:last-child |
元素E的最后一个子元素 |
| E:enabled和E:disabled |
元素E的状态为可用/不可用 |
| E:checked和E:selection |
元素E的状态为单选框选中/复选框选中 |
| a:link |
未被点击的链接 |
| a:visited |
已被点击的链接 |
| a:hover |
鼠标悬停其上的链接 |
| a:active |
鼠标已经按下,但没有释放的链接 |
7. div:first-child、div:first-of-type、div :first-child和div :first-of-type的作用和区别
| 伪类选择器 |
含义 |
| div:first-child |
父元素里的第一个子元素为div元素 |
| div:first-of-type |
父元素里的第一个div元素 |
| div :first-child |
父元素为div下的第一个子元素 |
| div :first-of-type |
父元素为div下的不同标签元素的第一个元素 |
8. 运行如下代码,解析下输出样式的原因
<style>
.item1:first-child{
color: red; /*指定父元素中第一个类名为item1的元素的字体颜色为红色*/
}
.item1:first-of-type{
background: blue; /*父元素中每一类元素的第一个类名为item1的元素的背景色为蓝色*/
}
</style>
<div class="ct">
<p class="item1">aa</p>
<h3 class="item1">bb</h3>
<h3 class="item1">ccc</h3>
</div> /*aa,bb一行显示的是蓝色,ccc一行不显示颜色*/
(mission7)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。