## 1、什么是CSS?
### 全称
Cascading Style Sheets
通常称为CSS样式表或层叠样式表(级联样式表)
### 作用
- 为HTML标记语言提供了一种样式描述
- 即【设置HTML页面中的元素的位置、排版、样式外观等】
如文本内容(字体、大小、对齐方式等)、图片的外形(宽、高、边框等)
![](C:/Users/Administrator/Desktop/web/系统班课程大纲/day03/笔记/image-20210404220754003.png)
![image-20210427204252842](C:/Users/Administrator/Desktop/web/系统班课程大纲/day03/笔记/image-20210427204252842.png)
## CSS语法规范
![image-20210427204717914](C:/Users/Administrator/Desktop/web/系统班课程大纲/day03/笔记/image-20210427204717914.png)
CSS 规则由两个主要的部分构成:选择器、一条或多条声明。
选择器:通常是需要改变样式的 HTML 标签。
声明组:以大括号{}括起来。
每条声明由一个属性和一个值组成,属性与属性值之间以【冒号】分隔,用【分号】将每个声明分开。
## 2、CSS引入方法
当读到一个样式表时,浏览器会根据它来格式化 HTML 文档,插入样式表的方法有三种:行间样式表,内部样式表,外部样式
### 1、行间样式
概述:
- 通过HTML元素的style属性设置样式称为行间样式
- 放在开始标签的内部
- 代码示例
```html
<div style="width:100px;height:100px;background-color:red;">div</div>
```
- 适用场景:
单个html标签需要设置样式
优缺点:比较直观;相同样式需要重复定义,造成代码冗余;作用范围小,不利于后期代码维护;代码不能复用,结构与样式变现不分离
- 注:任何HTML元素都可以设置行间样式
### 2、内部样式
- 概述:
在head标签的内部,由style标签包含的样式称为内部样式
- 语法:用style标签对包住样式
- 适用场景:
1.单个HTML文档需要设置样式
优缺点:
相对于行间样式,代码能够复用,作用范围大于行间样式的范围;
结构与表现半分离
- 代码示例
```html
<head>
<style> </style>
</head>
```
### 3、外部样式
- 概述
- 外部样式表是指将CSS编写在扩展名为.css 的单独文件中,使用link标签引用
- 位置:在外部新建的css文件中书写样式(后缀名为.css的文件);
在head标签的内部使用link标签引入在外部新建的css文件
- 头部标签内部使用link标签引用
```html
<head>
<link rel="stylesheet" href="./style.css">
</head>
```
- #### 说明
- href="" 资源链接的地址
- rel表示引入文 件与当前文 档的关系
- stylesheet为样式表
- rel="stylesheet"是将本HTML页面和css文件关联起来
* 适用场景:
多个HTML文档具有相同样式时
优缺点
1.适用范围广,可以使用代码的复用;
2.便于修改和维护代码;
3.结构与表现彻底分离
#### 总结:
- 行间样式适用于某个元素拥有特殊样式时使用,结构 表现【不分离】
- 内部样式适用于单个页面拥有特殊样式时使用,结构表现【半分离】
- 外部样式适用于多个页面拥有相同样式时使用,结构表现【相分离】
## 3、css注释
#### 什么是注释 :
注释即对代码的解释和说明,不会被浏览器解析执行
#### 注释的语法:
```html
CSS中的注释以"注释以/*开头,以*/结尾,开始和结束中间为注释内容
/* css 注释 */
```
#### 生成快捷方式:
ctrl + /
## 4、什么是选择器
- CSS选择器是CSS规则的第一部分,每个CSS规则都以一个选择器或一组选择器为开始
- CSS 选择器即用于“查找”(或选取)要设置样式的 HTML 元素的模式
- 选择器可以分为基础选择器、复合选择器
## 5、基本选择器
### 1、通配(通用)选择器
- 语法 *{ 样式声明 }
- 作用:匹配任意类型的HTML元素
```html
<style>
/* 页面上所有元素都被选择 */
*{
background-color:green;
}
</style>
<body>
<p>p</p>
<div>div1</div>
<div>div2
<div>div3</div>
</div>
</body>
/* 一般用于清除浏览器的默认样式 */
margin: 0;
padding: 0;
权重是0
```
### 2、元素名称(标签)选择器
- 语法: 元素名称{ 样式声明 }
- 作用:选择所有同一元素名称的所有元素
```
/* 选择body */
body{
background-color:green;
}
/* 选择页面上所有的div */
div{
width:100px;
height:100px;
background-color:red;
}
/* 选择页面上所有的p */
p{
background-color: pink;
}
```
### 3、类选择器
- 语法
- HTML中通过class属性定义
```htm;l
<div class="box"></div>
```
- css中以点进行标识:.
```css
.类名 {
样式声明;
}
.box{
background-color:red;
}
```
- 作用:选择所有带有指定类名的元素
- 多类名的使用(词列表)
- 语法:空格隔开
- ```css
<p class="box box1 box2">p</p>
```
### 4、id选择器
- 语法
- HTML中通过id属性定义
如:
```html
<div class="box"></div>
```
- css中以点进行标识:#
```css
#id名称 {
样式声明;
}
#box{
background-color:red;
}
```
- 作用:选择所有带有指定类名的元素
**注意**:具有唯一性,一般用于页面唯一性的元素如头部、底部等,经常和 JavaScript 搭配使用。
### 类与id的命名规则
- 见词知义,尽量用英文;
- 始终建议以字母开头,可以包含数字、字母、下划线等
- 不要以数字开头
- 多个单词可以以驼峰式(newsCont)、中划线连接(news-cont)、下划线连接(news_cont)等