2.5 ID选择器
id选择器可以为标有特定id的HTML元素指定特定的样式。
HTML元素以id属性来设置id选择器,CSS中id选择器以“#”来定义。
语法
#id名{
属性1:属性值1;
...
}
例如,将id为nav元素中的内容设置为红色。
#nav{
color:red;
}
注意:id属性只能在每个HTML文档中出现一次。
口诀:样式#定义,结构id调用,只能调用一次,别人切勿使用。
id选择器和类选择器的区别
(1)类选择器好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用。
(2)id选择器好比人的身份证号码,全国是唯一的,不能重复。
(3)id选择器和类选择器最大的不同在于使用次数上。
(4)类选择器在修改样式中用的最多,id选择器一般用于页面唯一性的元素上,经常和JavaScript搭配使用。
2.6通配符选择器
在CSS中,通配符选择器使用“*”来定义,他表示选取页面中所有元素(标签)。
语法
*{
属性1:属性值1;
...
}
通配符选择器不需要调用,自动就给所有的元素使用样式。
特殊情况才使用。
*{
margin:0;
padding:0;
}
2.7 基础选择器总结:
3.CSS字体属性
CSS Fonts(字体)属性用于定义字体系列、大小、粗细、和文字样式(如斜体)。
3.1 字体系列
CSS使用font-family属性定义文本的字体系列。
p{ font-family:"微软雅黑";}
div( font-family:Arial,"Microsoft Yahei","微软雅黑";)
各种字体之间必须使用英文状态下的逗号隔开。
一般情况下,如果有空格隔开的多个单词组成的字体,加引号。
尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示。
3.2字体大小
CSS使用font-size属性定义字体大小。
p{
font-size:20px;
}
px(像素)大小是网页最常用的单位。
谷歌浏览器默认的字体大小为16px。
不同的浏览器可能默认显示的字号大小不一致,尽量给一个明确值大小,不要默认大小。
可以给body指定整个页面文字的大小。
3.3 字体粗细
CSS使用font-weight属性设置文本字体的粗细。
p{
font-weight:bold;
}
3.4文字样式
CSS使用font-style属性设置文本的风格。
p{
font-style:normal;
}
注意:平时我们很少给文字加斜体,反而要给斜体标签(em,i)改为不倾斜字体。
3.5 字体复合属性
字体属性可以把以上文字样式综合来写,这样可以更节约代码:
body{
font: font-style font-weight font-size/line-height font-family;
}
使用font属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性以空格隔开
不需要设置的属性可以省略(取默认值),但必须保留font-size和font-family属性,否则font属性将不起作用。
3.6字体属性总结
4.CSS文本属性
CSS Text(文本)属性可定义文本的外观,比如文本的颜色、对齐文本、装饰文本、文本缩进、行间距等。
4.1color属性用于定义文本的颜色。
div{
color: red;
}
开发中最常用的是十六进制。
4.2 对齐文本
text-align属性用于设置元素内文本内容的水平对齐方式。
div{
text-align: center;
}
4.3 装饰文本
text-decoration属性规定添加到文本的修饰。可以给文本添加下划线、删除线、上划线等。
div{
text-decoration: underline;
}
4.4文本缩进
text-indent属性用来指定文本的第一行的缩进,通常是将段落的首行缩进。
div{
text-indent: 10px;
}
通过设置该属性,所有元素的第一行都可以缩进一个给定的长度,甚至长度可以是负值。
p{
text-indent: 2em;
}
em是一个相对单位,就是当前元素1个文字的大小,如果当前元素没有设置大小,则会按照父元素的1个文字大小。
4.5 行间距
line-height属性用于设置行间的距离(行高)。可以控制文字行与行之间的距离。
p{
line-height: 26px;
}
4.6 文本属性总结
5. CSS的引入方式
5.1 CSS的三种样式表
按照CSS样式书写的位置(或者引入的方式),CSS样式表可以分为三大类:
1.行内样式表(行内式)
2.内部样式表(嵌入式)
3.外部样式表(链接式)
5.2 内部样式表
内部样式表是写到HTML页面内部,将所有的CSS代码抽取出来,单独放到一个<style>标签中。
<style>
div{
color: red;
font-size: 12px;
}
</style>
<style>标签理论上可以放在HTML文档的任何地方,但一般会放在文档的<head>标签中。
通过此种方式,可以方便控制当前整个页面中的元素样式设置。
代码结构清晰,但是并没有实现结构与样式完全分离。
使用内部样式表设定CSS,通常也被称为嵌入式引入,这种方式是我们练习时常用的方式。
5.3 行内样式表
行内样式表是在元素标签内部的style属性中设定CSS样式。适合于修改简单样式。
<div style="color:red; font-size:12px;">青春不常在,抓紧谈恋爱</div>
style其实就是标签的属性
在双引号中间,写法要符合CSS规范
可以控制当前的标签设置样式
由于书写繁琐,并且没有体现出结构与样式相分离的思想,所以不推荐大量使用,只有对当前元素添加简单样式的时候,可以考虑使用。
使用行内样式表设定CSS,通常也被称为行内式引入。
5.4 外部样式表
实际开发都是外部样式表,适合于样式表较多的情况,核心是:样式单独写到CSS文件中,之后把CSS文件引入到HTML页面中使用。
引入外部样式表分为两步:
1.新建一个后缀名为.CSS的样式文件,把所有CSS代码都放入此文件中。
2.在HTML页面中,使用<link>标签引入这个文件。
<link rel="style sheet" href="css文件路径">
使用外部样式表设定CSS,通常也被称为外链接或链接式引入,这种方式是开发中常用的方式。
5.5 CSS引入方式总结
6. Chrome调试工具
Chrome浏览器提供了一个非常好用的调试工具,可以用来测试我们的HTML结构和CSS样式。
1.打开调试工具
打开Chrome浏览器,接下来按下F12键或者右击页面空白处—>检查。
2.使用调试工具
(1)Ctrl+滚轮可以放大开发工具代码大小。
(2)左边是HTML元素结构,右边是CSS样式。
(3)右边CSS样式可以改动数值和查看颜色。
(4)Ctrl+0复原浏览器大小
(5)如果点击元素,发现右侧没有样式引入,极有可能是类名或者样式引入错误。
(6)如果有样式,但是样式前面有黄色叹号提示,则是样式属性书写错误。
Emmet 语法
1.快速生成HTML结构语法
2. 快速生成CSS样式语法
CSS基本采用简写形式即可
1.比如 w200 按tab可以生成 width: 200px;
2.比如 lh26 按tab 可以生成 line-height: 26px;
3. 快速格式化代码
shift+alt+f
1. CSS的复合选择器
1.1什么是复合选择器
在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基础选择器进行组合形成的。
复合选择器可以更准确、更高效的选择目标元素。
复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的。
常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等。
1.2 后代选择器
后代选择器又称包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,当标签发生嵌套时,内层标签就是外层标签的后代。
语法:
元素1 元素2{ 样式声明 }
上述语法表示选择元素1里面的所有元素2(后代元素)。
例如:
ul li{ 样式声明 } /*选择 ul 里面所有的 li 标签元素 */
元素1和元素2中间用空格隔开。
元素1是父亲,元素2是子级,最终选择的是元素2。
元素2可以是儿子,而可以是孙子等,只要是元素1的后代即可。
元素1和元素2可以是任意基础选择器。
1.3子选择器
子元素选择器只能选择作为某元素的最近一级子元素。简单理解就是选择亲儿子元素。
语法:
元素1>元素2>(样式声明)
上述语法表示选择元素1里面的所有直接后代(子元素)元素2。
例如:
div > p{ 样式声明 } /*选择 div 里面所有最近一级 p 标签元素 */
元素1和元素2中间用大于号隔开。
元素1是父级,元素2是子级,最终选择的是元素2。
元素2必须是亲儿子,其孙子、重孙子之类都不归他管,你也可以叫他亲儿子选择器。
1.4 并集选择器
并集选择器可以选择多组标签,同时为他们定义相同的样式,常用于集体声明。
并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。
语法:
元素1,元素2 { 样式声明 }
上述语法表示选择元素1和元素2。
例如:
ul,div{ 样式声明 } /* 选择 ul 和 div标签元素 */
元素1和元素2中间用逗号隔开
逗号可以理解为和的意思
并集选择器通常用于集体声明
1.5 伪类选择器
伪类选择器用于向某些选择器添加特殊效果,比如给链接添加特殊效果,或选择第1个,第n个元素。
伪类选择器书写最大特点是用冒号(:)表示,比如:hover、:first-child。
1.6 链接伪类选择器
链接伪类选择器实际工作开发中的书写: