前言
- HTML满足不了设计者的需求
- 操作html属性不方便
- HTML里面添加样式带来的是无尽的臃肿和繁琐
- 让网页更加丰富多彩,布局更加灵活自如。
- CSS的最大贡献就是: 让 HTML 从样式中脱离, 实现了 HTML 专注去做 结构呈现,样式交给css
一、CSS是什么?
CSS(Cascading Style Sheets) ,通常称为CSS样式表或层叠样式表(级联样式表)
- 主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。
- CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。
二、引入CSS样式表
1.行内式
<div style="color: red; font-size: 12px;">一段文字</div>
- style其实就是标签的属性
- 样式属性和属性值中间是
:
- 多组属性值之间用
;
隔开。 - 只能控制当前的标签和以及嵌套在其中的字标签,造成代码冗余
- 但是很明显的一个缺点就是:没有实现样式和结构相分离
2.内部样式表
代码如下(示例):
<style>
div {
color: red;
font-size: 12px;
}
</style>
- style标签一般位于head标签中,当然理论上他可以放在HTML文档的任何地方。
- type=“text/css” 在html5中可以省略。
- 只能控制当前的页面
- 他的缺点是分离了但是并没有彻底的分离
3.外部样式表
<head>
<link rel="stylesheet" type="text/css" href="css文件路径">
</head>
- link 是个单标签
- link标签需要放在head头部标签中,并且指定link标签的三个属性
- rel:定义当前文档与被链接文档之间的关系,在这里需要指定为“stylesheet”,表示被链接的文档是一个样式表文件。
- type:定义所链接文档的类型,在这里需要指定为“text/css”,表示链接的外部文件为CSS样式表。我们都可以省略
- href:定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径。
总结
- 行内样式表:书写方便,权重高,但是没有实现样式和结构相分离。使用情况较少,控制一个标签
- 内部样式表:部分结构和样式相分离,但是没有彻底分离。使用情况较多,控制一个页面
- 外部样式表:完全实现结构和样式相分离,但是需要引入。使用情况最多,控制整个站点
样式优先级
- 行内样式优先级最高
- 内部样式和外部引入优先级,遵循就近原则
- 遵循就近原则
- 哪个样式离标签最近,标签样式就听谁的
三、CSS选择器
CSS选择器是用来找到特定的HTML页面元素的。
标签选择器
h1 {
color: green;
}
标签选择器 可以把某一类标签全部选择出来
- 能快速为页面中同类型的标签统一样式
- 但是不能设计差异化样式。
类选择器
<p class="box1">一段文字</p>
.box {
color: red;
}
- 可以为元素对象定义单独或相同的样式。 可以选择一个或者多个标签
- 注意
- 类选择器使用“.”(英文点号)进行标识,后面紧跟类名
- 长名称或词组可以使用连字符来为选择器命名。
- 不要纯数字、中文等命名, 尽量使用英文字母来表示。
类选择器特殊用法- 多类名
我们可以给标签指定多个类名,从而达到更多的选择目的。
<div class="pink fontWeight font20">文字</div>
- 各个类名中间用空格隔开。
- 多类名选择器在后期布局比较复杂的情况下,还是较多使用的。
id选择器
<div id="#box1"></div>
#box1 {
color: red;
}
- id选择器使用
#
进行标识,后面紧跟id名 - 元素的id值是唯一的,只能对应于文档中某一个具体的元素。
- 用法基本和类选择器相同。
通配符选择器
* {
color: red;
}
- 会匹配页面所有的元素,降低页面响应速度,不建议随便使用
总结
- 标签选择器:可以选出所有相同的标签,比如p标签。但是不能差异化选择。
- 类选择器:可以选出一个或者多个标签,可以根据需求选择
- id选择器一次只能选择器一个标签,但是只能使用一次
- 通配符选择器:选择所有的标签,但是选择的太多,有部分不需要