CSS学习自测
选择器()就是根据不同的需求选择不同的标签,这就是选择器的作用。
CSS选择器可以分为两类:基本选择器和复合选择器。
碱基选择器
基本选择器由单个选择器组成,主要包括:标签选择器、类选择器、id选择器和通配符选择器。
标签选择器:
标签选择器用于使用HTML标签作为选择器,可以快速统一地为页面中的同类型标签设置样式,但无法设计差异化的样式。
p { font-size: 12px; color: red }
类选择器:
类选择器用“.”进行标记,可以用来为多个HTML标签设置相同的样式,或者为一个标签指定多个类名,从而达到更多选择的目的。
口头禅:样式点定义,结构类调用。 一项或多项,最常用于开发。
<style>
.wrap { margin:0; padding:0; }
.myclass { font-size: 12px; color: red }
style>
<div class="wrap myclass"> 你笑起来真像好天气。div>
id选择器:
id选择器以“#”标记,可以为标有特定id的HTML元素指定特定的样式。 id 属性是唯一的。
<style>
#wrap { margin:0; padding:0; }
style>
<div id="wrap"> 你笑起来真像好天气。div>
通配符选择器:
通配符选择器使用“*”定义,表示选择页面中的所有元素(标签)。
* {
margin: 0;
padding: 0;
}
id选择器和class选择器复合选择器的区别
复合选择器建立在基本选择器之上,由两个或多个基本选择器以不同方式组合而成。
常用的复合选择器包括:后代选择器、子选择器、联合选择器、伪类选择器等。
后代选择器
后代选择器,也称为包含选择器,可以选择父元素内的子元素。 写法是把外标写在前面,内标写在后面,中间用空格隔开。 当标签嵌套时,内部标签将成为外部标签的后代。
div p { font-size: 12px; color: red; }
子选择器
子元素选择器(child )只能选择距离元素最近的子元素。 简单的理解就是选择父子元素。
div > p { font-size: 12px; color: red; }
联合选择器
联合选择器可以选择多组标签,同时为它们定义相同的样式,用英文逗号“,”连接。 通常用于集体陈述。
div,.myclass,#psd { 样式声明 }
伪类选择器
何为伪类?
伪类是选择器的一种,它用于选择处于特定状态的元素,
比如当它们是这一类型的第一个元素时 :first-child,
或者是当鼠标指针悬浮在元素上面的时候 :hover,
它们表现得会像是你向你的文档的某个部分应用了一个类一样,
这样,在你的标记文本中会减少多余的类,让你的代码更灵活、更易于维护。
伪类选择器写法最大的特点是用冒号(:)表示,如:link、:last-child。 有许多伪类选择器。 这里主要介绍链接伪类和结构伪类。
链接伪类选择器:
a:link {color: red;}
a:visited {color: orange;}
a:hover {color: green;}
a:active {color: black;}
常用结构伪类选择器:
- E:fisrt-child :作为父元素的第一个子元素的元素E。
与E:nth-child(1)等同
- E:last-child :作为父元素的最后一个子元素的元素E。
与E:nth-last-child(1)等同
- E F:nth-child(n):选择父元素E的第n个子元素F。
其中n可以是整数(1,2,3)、关键字(even,odd)、
可以是公式(2n+1),而且n值起始值为1,而不是0.
- E F:nth-last-child(n):选择父元素E的倒数第n个子元素F。
此选择器与E:nth-child(n)选择器计算顺序刚好相反,但使用方法都是一样的,
其中:nth-last-child(1)始终匹配最后一个元素,与last-child等同
结构伪类选择器很容易被误解,值得特别强调。 喜欢:
p:first-child;
意思是:选择父元素下的第一个子元素p,而不是选择p元素的第一个子元素。
待续。