CSS知识点

目录

1. CSS简介

1.1 HTML 的局限性

1.2 CSS-网页的美容师

1.3 CSS 语法规范

1.4 CSS 代码风格

2. CSS 基础选择器

2.1 CSS 选择器的作用

2.2 选择器分类

2.3 标签选择器

2.4 类选择器

2.5 id 选择器

2.6 通配符选择器

2.7 基础选择器总结

3. CSS 字体属性

3.1 字体系列

3.2 字体大小

3.3 字体粗细

3.4 文字样式

3.5 字体复合属性

3.6 字体属性总结

4. CSS 文本属性

4.1 文本颜色

4.2 对齐文本

4.3 装饰文本

4.4 文本缩进

4.5 行间距

4.6 文本属性总结

5. CSS 引入方式

5.1 CSS 的三种样式表

5.2 内部样式表

5.3 行内样式表

5.4 外部样式表

5.5 CSS 引入方式总结

6. Emmet 语法

6.1 快速生成HTML结构语法

6.2 快速生成CSS样式语法

6.3 快速格式化代码

7.CSS 的复合选择器

7.1 什么是复合选择器

7.2 后代选择器 (重要)

7.3 子选择器 (重要)

7.4 并集选择器 (重要)

7.5 伪类选择器

7.6 链接伪类选择器

7.7 :focus 伪类选择器

7.8 复合选择器总结

8. CSS 的元素显示模式

8.1 什么是元素显示模式

8.2 块元素

8.3 行内元素

8.4 行内块元素

8.5 元素显示模式总结

8.6 元素显示模式转换

8.7 单行文字垂直居中的原理

9. CSS的背景

9.1 背景颜色

9.2 背景图片

9.3 背景平铺

9.4 背景图片位置

9.5 背景图像固定(背景附着)

9.7 背景色半透明

9 .8 背景总结

10. CSS 的三大特性

10.1 层叠性

10.2 继承性

10.3 优先级

11. CSS 的注释

12. 盒子模型

12.1 边框(border)

12.2 表格的细线边框

12.3 内边距

12.4 盒子模型外边距margin

12.5 清除内外边距

12.6 圆角边框

12.7 盒子阴影

12.8 文字阴影

13. 浮动

13.1 传统网页布局的三种方式

13.2 标准流(普通流/文档流)

13.3 什么是浮动

13.4 浮动特性

13.5 浮动布局注意的点


1. CSS简介

CSS 的主要使用场景就是美化网页,布局页面的

1.HTML 的局限性

2.CSS-网页的美容师

1.1 HTML 的局限性

1.2 CSS-网页的美容师

CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称.。

有时我们也会称之为 CSS 样式表或级联样式表。

CSS 是也是一种标记语言 CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、 边距等)以及版面的布局和外观显示样式。

CSS 让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:CSS 可以美化 HTML , 让 HTML 更漂亮, 让页面布局更简单。

总结:

  1. HTML 主要做结构,显示元素内容.
  2. CSS 美化 HTML ,布局网页.
  3. CSS 最大价值: 由 HTML 专注去做结构呈现,样式交给 CSS,即 结构 ( HTML ) 与样式( CSS ) 相分离。

1.3 CSS 语法规范

CSS 规则由两个主要的部分构成:选择器以及一条或多条声明。

选择器是用于指定 CSS 样式的 HTML 标签,花括号内是对该对象设置的具体样式

属性和属性值以“键值对”的形式出现

属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等

属性和属性值之间用英文“:”分开

多个“键值对”之间用英文“;”进行区分

所有的样式,都包含在 <style> 标签内,表示是样式表。<style>一般写到<head/>的上方。

<head>
 <style>
 h4 {
 color: blue;
 font-size: 100px;
 }
 </style>
</head>

1.4 CSS 代码风格

h3 {
 color: pink;
 font-size: 20px;
}

强烈推荐样式选择器,属性名,属性值关键字全部使用小写字母,特殊情况除外

h3 {
 color: pink;
}
H3 {
 COLOR: PINK;
}

2. CSS 基础选择器

2.1 CSS 选择器的作用

选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说,就是选择标签用的 。

2.2 选择器分类

选择器分为基础选择器和复合选择器两个大类,我们这里先讲解一下基础选择器。

基础选择器是由单个选择器组成的

基础选择器又包括:标签选择器、类选择器、id 选择器和通配符选择器

2.3 标签选择器

标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式。

语法:

标签名{
 属性1: 属性值1;
 属性2: 属性值2;
 属性3: 属性值3;
 ...
} 

作用:标签选择器可以把某一类标签全部选择出来,比如所有的<div>标签和所有的<span>标签。

优点:能快速为页面中同类型的标签统一设置样式。

缺点:不能设计差异化样式,只能选择全部的当前标签。

2.4 类选择器

如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器.

语法:

.类名 {
 属性1: 属性值1;
 ...
} 

例如,将所有拥有 red 类的 HTML 元素均为红色。

.red {
 color: red;
}

结构需要用class属性来调用 class 类的意思

<div class=‘red’> 变红色 </div>

类选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点“.”号显示。

注意:

类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。

② 可以理解为给这个标签起了一个名字,来表示。

③ 长名称或词组可以使用中横线来为选择器命名。

④ 不要使用纯数字、中文等命名,尽量使用英文字母来表示。

⑤ 命名要有意义,尽量使别人一眼就知道这个类名的目的。

记忆口诀:样式点定义,结构类调用。一个或多个,开发最常用。

2.4.1. 多类名使用方式

<div class="red font20">亚瑟</div>

(1) 在标签class 属性中写多个类名

(2) 多个类名中间必须用空格分开

(3) 这个标签就可以分别具有这些类名的样式

2.4.2.多类名开发中使用场景

(1) 可以把一些标签元素相同的样式(共同的部分)放到一个类里面.

(2) 这些标签都可以调用这个公共的类,然后再调用自己独有的类.

(3) 从而节省CSS代码,统一修改也非常方便

<div class="pink fontWeight font20">亚瑟</div>
<div class="font20">刘备</div>
<div class="font14 pink">安其拉</div>
<div class="font14">貂蝉</div>

各个类名中间用空格隔开

简单理解:就是给某个标签添加了多个类,或者这个标签有多个名字

这个标签就可以分别具有这些类名的样式

从而节省CSS代码,统一修改也非常方便.

多类名选择器在后期布局比较复杂的情况下,还是较多使用的

2.5 id 选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

HTML 元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以“#" 来定义。

语法:

#id名 {
 属性1: 属性值1;
 ...
} 

例如,将 id 为 nav 元素中的内容设置为红色。

#nav {
 color:red;
}

注意:id 属性只能在每个 HTML 文档中出现一次。

id 选择器和类选择器的区别

① 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用。

② id 选择器好比人的身份证号码,全中国是唯一的,不得重复。

③ id 选择器和类选择器最大的不同在于使用次数上。

④ 类选择器在修改样式中用的最多,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", "微软雅黑";}

各种字体之间必须使用英文状态下的逗号隔开

一般情况下,如果有空格隔开的多个单词组成的字体,加引号.

尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示

最常见的几个字体:body {font-family: 'Microsoft YaHei',tahoma,arial,'Hiragino Sans GB'; }

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;
}

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.1 文本颜色

color 属性用于定义文本的颜色。

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 是一个相对单位,就是当前元素(font-size) 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>

5.3 行内样式表

行内样式表(内联样式表)是在元素标签内部的 style 属性中设定 CSS 样式。适合于修改简单样式

行内样式表(内联样式表)是在元素标签内部的 style 属性中设定 CSS 样式。适合于修改简单样式

5.4 外部样式表

实际开发都是外部样式表. 适合于样式比较多的情况. 核心是:样式单独写到CSS 文件中,之后把CSS文件引入 到 HTML 页面中使用.

引入外部样式表分为两步:

  1. 新建一个后缀名为 .css 的样式文件,把所有 CSS 代码都放入此文件中。
  2. 在 HTML 页面中,使用 标签引入这个文件。
<link rel="stylesheet" href="css文件路径">

5.5 CSS 引入方式总结

6. Emmet 语法

Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度, Vscode内部已经集成该语法.

  1. 快速生成HTML结构语法
  2. 快速生成CSS样式语法

6.1 快速生成HTML结构语法

  1. 生成标签 直接输入标签名 按tab键即可 比如 div 然后tab 键, 就可以生成<div><div/>
  2. 如果想要生成多个相同标签加上 *就可以了 比如 div*3 就可以快速生成3个div
  3. 如果有父子级关系的标签,可以用 > 比如 ul > li就可以了
  4. 如果有兄弟关系的标签,用 + 就可以了 比如 div+p
  5. 如果生成带有类名或者id名字的, 直接写 .demo 或者 #two tab 键就可以了
  6. 如果生成的div 类名是有顺序的, 可以用 自增符号 $
  7. 如果想要在生成的标签内部写内容可以用 { } 表示

6.2 快速生成CSS样式语法

CSS 基本采取简写形式即可.

  1. 比如 w200 按tab 可以 生成 width: 200px;
  2. 比如 lh26px 按tab 可以生成 line-height: 26px;

6.3 快速格式化代码

Vscode 快速格式化代码: shift+alt+f

也可以设置当我们保存页面的时候自动格式化代码:

1)文件 ------.>【首选项】---------->【设置】;

2)搜索emmet.include;

3)在settings.json下的【工作区设置】中添加以下语句: "editor.formatOnType": true, "editor.formatOnSave": true

7.CSS 的复合选择器

7.1 什么是复合选择器

在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。

复合选择器可以更准确、更高效的选择目标元素(标签)

复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的

常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等

7.2 后代选择器 (重要)

后代选择器又称为包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在 后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

语法:

元素1 元素2 { 样式声明 }

上述语法表示选择元素 1 里面的所有元素 2 (后代元素)

例如:

ul li { 样式声明 } /* 选择 ul 里面所有的 li标签元素 */

元素1 和 元素2 中间用空格隔开

元素1 是父级,元素2 是子级,最终选择的是元素2

元素2 可以是儿子,也可以是孙子等,只要是元素1 的后代即可

元素1 和 元素2 可以是任意基础选择器

7.3 子选择器 (重要)

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素

语法:

元素1 > 元素2 { 样式声明 } 

上述语法表示选择元素1 里面的所有直接后代(子元素) 元素2。

例如:

div > p { 样式声明 } /* 选择 div 里面所有最近一级 p 标签元素 */

元素1 和 元素2 中间用 大于号 隔开

元素1 是父级,元素2 是子级,最终选择的是元素2

元素2 必须是亲儿子,其孙子、重孙之类都不归他管. 你也可以叫他亲儿子选择器

7.4 并集选择器 (重要)

并集选择器可以选择多组标签, 同时为他们定义相同的样式。通常用于集体声明.

并集选择器是各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

语法:

上述语法表示选择元素1 和 元素2。

例如:

元素1 和 元素2 中间用逗号隔开

逗号可以理解为和的意思

并集选择器通常用于集体声明

7.5 伪类选择器

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。

伪类选择器书写最大的特点是用冒号(:)表示,比如 :hover 、 :first-child 。

因为伪类选择器很多,比如有链接伪类、结构伪类等,所以这里先给大家讲解常用的链接伪类选择器。

7.6 链接伪类选择器

链接伪类选择器注意事项:

  1. 为了确保生效,请按照 LVHA 的循顺序声明 :link-:visited-:hover-:active。
  2. 记忆法:love hate 或者 lv 包包 hao 。
  3. 因为 a 链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。

链接伪类选择器实际开发中的写法.

7.7 :focus 伪类选择器

:focus 伪类选择器用于选取获得焦点的表单元素。

焦点就是光标,一般情况<input>类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

input:focus {
 background-color:yellow;
} 

7.8 复合选择器总结

8. CSS 的元素显示模式

8.1 什么是元素显示模式

作用:网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的网页。

元素显示模式就是元素(标签)以什么方式进行显示,比如<div>自己占一行,比如一行可以放多个<span>。

HTML 元素一般分为块元素和行内元素两种类型。

8.2 块元素

常见的块元素有 <h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div> 标签是最典型的块元素。

块级元素的特点:

① 比较霸道,自己独占一行。

② 高度,宽度、外边距以及内边距都可以控制。

③ 宽度默认是容器(父级宽度)的100%。

④ 是一个容器及盒子,里面可以放行内或者块级元素

注意:

文字类的元素内不能使用块级元素

<p>标签主要用于存放文字,因此 <p>里面不能放块级元素,特别是不能放<div>

同理, <h1>~<h6>等都是文字类块级标签,里面也不能放其他块级元素

8.3 行内元素

常见的行内元素有 <a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span> 标签是最典型的行内元素。有的地方也将行内元素称为内联元素。

行内元素的特点:

① 相邻行内元素在一行上,一行可以显示多个。

② 高、宽直接设置是无效的。

③ 默认宽度就是它本身内容的宽度。

④ 行内元素只能容纳文本或其他行内元素。

注意:

链接里面不能再放链接

特殊情况链接<a>里面可以放块级元素,但是给<a>转换一下块级模式最安全

8.4 行内块元素

在行内元素中有几个特殊的标签 —— <img/>、<input/>、<td> 它们同时具有块元素和行内元素的特点。 有些资料称它们为行内块元素。

行内块元素的特点:

① 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。

② 默认宽度就是它本身内容的宽度(行内元素特点)。

③ 高度,行高、外边距以及内边距都可以控制(块级元素特点)

8.5 元素显示模式总结

8.6 元素显示模式转换

特殊情况下,我们需要元素模式的转换,简单理解: 一个模式的元素需要另外一种模式的特性 比如想要增加链接<a>的触发范围。

转换为块元素:display:block;

转换为行内元素:display:inline;

转换为行内块:display: inline-block;

8.7 单行文字垂直居中的原理

9. CSS的背景

通过 CSS 背景属性,可以给页面元素添加背景样式。

背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。

9.1 背景颜色

background-color 属性定义了元素的背景颜色

一般情况下元素背景颜色默认值是 transparent(透明),我们也可以手动指定背景颜色为透明色。

9.2 背景图片

background-image 属性描述了元素的背景图像。实际开发常见于 logo 或者一些装饰性的小图片或者是超 大的背景图片, 优点是非常便于控制位置. (精灵图也是一种运用场景)

9.3 背景平铺

如果需要在 HTML 页面上对背景图像进行平铺,可以使用 background-repeat 属性。

9.4 背景图片位置

利用 background-position 属性可以改变图片在背景中的位置。

参数代表的意思是:x 坐标和 y 坐标。 可以使用 方位名词 或者 精确单位

  1. 参数是方位名词
    如果指定的两个值都是方位名词,则两个值前后顺序无关,比如 left top 和 top left 效果一致
    如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐
  2. 参数是精确单位
    如果参数值是精确坐标,那么第一个肯定是 x 坐标,第二个一定是 y 坐标
    如果只指定一个数值,那该数值一定是 x 坐标,另一个默认垂直居中
  3. 参数是混合单位
    如果指定的两个值是精确单位和方位名词混合使用,则第一个值是 x 坐标,第二个值是 y 坐标

9.5 背景图像固定(背景附着)

background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动

background-attachment 后期可以制作视差滚动的效果。

9.6 背景复合写法

为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性 background 中。从而节约代码量.

当使用简写属性时,没有特定的书写顺序,一般习惯约定顺序为:

background: 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;

这是实际开发中,我们更提倡的写法。

9.7 背景色半透明

CSS3 为我们提供了背景颜色半透明的效果。

9 .8 背景总结

10. CSS 的三大特性

CSS 有三个非常重要的三个特性:层叠性、继承性、优先级。

10.1 层叠性

相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突 的问题

层叠性原则:

样式冲突,遵循的原则是就近原则,哪个样式离结构近,就执行哪个样式

样式不冲突,不会层叠

10.2 继承性

CSS中的继承: 子标签会继承父标签的某些样式,如文本颜色和字号。简单的理解就是:子承父业。

行高的继承性

body {
 font:12px/1.5 Microsoft YaHei;
}

10.3 优先级

当同一个元素指定多个选择器,就会有优先级的产生。

选择器相同,则执行层叠性

选择器不同,则根据选择器权重执行

选择器权重如下表所示。

优先级注意点 :

权重叠加:如果是复合选择器,则会有权重叠加,需要计算权重。

11. CSS 的注释

注释用于解释代码,它们会被浏览器忽略。CSS 中的注释以“ /* ”开头,以“ */ ”结尾。

12. 盒子模型

页面布局三大核心 盒子模型 浮动 和 定位

12.1 边框(border)

12.2 表格的细线边框

12.3 内边距

12.4 盒子模型外边距margin

水平居中:

行内元素和行内块元素:

外边距合并:

12.5 清除内外边距

*{

pading:0

margin:0

};

12.6 圆角边框

12.7 盒子阴影

12.8 文字阴影

13. 浮动

13.1 传统网页布局的三种方式

13.2 标准流(普通流/文档流)

13.3 什么是浮动

13.4 浮动特性

13.5 浮动布局注意的点

一个元素浮动,其余元素也要浮动

13.6 清除浮动

方法:

本质:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值