CSS常见选择器:
- 1.基础选择器
选择器 | 含义 |
---|---|
* | 通用元素选择器,匹配页面任何元素(这也就决定了我们很少使用) |
# | id选择器,匹配特定id的元素 |
. | 类选择器,匹配class包含(不是等于)特定类的元素 |
element | 标签选择器 |
- 2.组合选择器
选择器 | 含义 |
---|---|
E,F | 多元素选择器,用,分隔,同时匹配元素E或元素F |
E F | 后代选择器,用空格分隔,匹配E元素所有的后代(不只是子元素、子元素向下递归)元素F |
E>F | 子元素选择器,用>分隔,匹配E元素的所有直接子元素 |
E+F | 直接相邻选择器,匹配E元素之后的相邻的同级元素F |
E~F | 普通相邻选择器(弟弟选择器),匹配E元素之后的同级元素F(无论直接相邻与否) |
- 3.伪类选择器
选择器 | 含义 |
---|---|
E:active | 匹配鼠标已经其上按下、还没有释放的E元素 |
E:hover | 匹配鼠标悬停其上的E元素 |
E:focus | 匹配获得当前焦点的E元素,例如点击输入框输入的时候 |
E:link | 匹配所有未被点击的链接 |
E:visited | 匹配所有已被点击的链接 |
E:first-child | 匹配元素E的第一个子元素,等同于:nth-child(1) |
E:nth-child(n) | 匹配其父元素的第n个子元素 |
E:first-of-type | 匹配父元素下使用同种标签的第一个子元素,等同于:nth-of-type(1) |
E:nth-of-type(n) | 匹配父元素下使用同种标签的元素的第n个子元素 |
:first-child和:first-of-type的作用和区别
- :first-child作用于父元素下第一个子元素
-
:first-of-type作用于父元素下不同类型的第一个子元素
例子.png
选择器的优先级是怎样的?
从高到低依次是:
1.在属性后面使用 !important会覆盖页面内任何位置定义的元素样式
2.作为style属性写在元素标签上的内联样式
3.id选择器
4.类选择器
5.伪类选择器
6.属性选择器
7.标签选择器
8.通配符选择器
9.浏览器自定义
PS:当权重相同时,后一个样式覆盖前面的样式,内联样式覆盖内部样式,内部样式覆盖外部样式
class 和 id 的使用场景:
- id具有唯一性,主要用在页面布局中较大的容器(大区块)
利用id特性进行整体布局,如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
.wrap{
width: 900px;
margin: 0 auto;
}
</style>
</head>
<body>
<div id="header">
<div class="wrap">
<a id="logo" href="#"><img src=""></a>
<ul class="nav">
<li><a href="#">导航1</a></li>
<li><a href="#">导航2</a></li>
<li><a href="#">导航3</a></li>
</ul>
</div>
</div>
<div id="content">
<div class="wrap">
<div class="aside">侧边栏</div>
<div class="main">中心区块</div>
</div>
</div>
<div id="footer">
<div class="wrap">这里是 footer</div>
</div>
</body>
</html>
- class用的最多,在一个页面中可重复利用,用于布局中的内部模块,或者当几个模块拥有共同样式时可用同一个class
text-align: center的作用是什么,作用在什么元素上?能让什么元素水平居中?
作用在块状元素上让行内元素水平居中.
使用CSS选择器时为什么要划定适当的命名空间?
为了更好的匹配我们特定需要匹配的元素,只对匹配的元素生效,保证代码样式在合理的控制内不出现不必要的错误。
网友评论