2023年6月21日发(作者:)

CSS语法规则CSS语法规则概述发展历程随着 HTML 的成长,为了满⾜页⾯设计者的要求,HTML 添加了很多显⽰功能。但是随着这些功能的增加,HTML 变的越来越杂乱,⽽且HTML 页⾯也越来越臃肿。于是 CSS 便诞⽣了。CSS3 是 CSS 层叠样式表技术的升级版本,于1999年开始制订,2001年5⽉23⽇ W3C 完成了 CSS3 的⼯作草案,主要包括盒⼦模型、列表模块、超链接⽅式、语⾔模块、背景和边框、⽂字特效、多栏布局等模块 。到⽬前为⽌,CSS3 的内容仍在不断的更新升级中。CSS概念css 全称 cascading style sheets,层叠式样式表,是⼀种⽤来表现 HTML 的⽂件样式的计算机语⾔。作⽤:静态地修饰⽹页,并且可以配合各种脚本语⾔动态地对⽹页各元素进⾏格式化。前端三层:html 结构层 从语义的⾓度出发搭建⽹页结构css 样式层 从美观的⾓度出发描述页⾯样式JavaScript ⾏为层 从交互的⾓度出发描述页⾯⾏为CSS 的出现,实现了⽹页的结构和样式分离,拯救了混乱的 HTML,更加拯救了我们 web 开发者。CSS 可以说是⽹页的美容师, 让我们的⽹页更加美观。CSS组成:层叠式:CSS中贯穿始终的加载特性层叠性继承性样式:如何定义显⽰HTML元素⽂字⽂本背景盒模型浮动定位其他样式语法CSS 规则由两个主要的部分构成:选择器,以及⼀条或多条声明,例如:以上是⼀段使⽤ css 给

标签添加宽度和字号的样式设置效果。书写位置css 的代码根据书写位置不同分为四种书写⽅式:内联式、内嵌式、外联式、导⼊式。①内联式内联式,也被习惯叫做⾏内式。书写位置:在 HTML 标签之上的 style 属性中书写 css 样式。所有的 css 样式属性总体组成标签的 style 属性的属性值。

1
缺点:内联式必须写在标签上,没有完全脱离HTML标签css样式代码让标签结构繁重,不利于HTML结构的解读⼀个内联式的css代码,只能给⼀个标签使⽤,如果多个标签有相同样式,同样的css代码需要书写多次,增加代码量。因此,实际⼯作中不会使⽤⾏内式编写 css 代码。②内嵌式书写位置:在 HTML ⽂件中, 标签内部有⼀个

优点:实现了结构和样式的初步分离,css 只负责样式,HTML 负责结构。多个标签可以利⽤⼀段代码设置相同的样式,节省代码量。缺点:结构和样式并没有完全分离,代码依旧书写在 HTML ⽂件的导⼊式样式表的作⽤与外联式样式表基本相同,但是由于导⼊式在浏览器中加载时,会在 HTML 结构加载完毕后再进⾏编译,如果⽹速⽐较慢时,会导致⽹页出现没有 css 样式的效果,给⽤户的体验不好。实际⼯作中⼩型案例:可以使⽤内嵌式CSS.实际⼯作、⼤型⽹站项⽬:推荐使⽤外联式CSS。样式规则明确了样式表的⼏种书写⽅式,接下来以内嵌式样式表为例,学习样式的书写规则。(1)所有的 css 代码都必须书写在

标签内部的⼀对

(5)给⼀个标签添加所需要的样式时,只需要将属性名和属性值直接⼀⼀罗列出来,css 每条属性都会加载到浏览器上。div {

width: 200px;

height: 200px;

background‐color: skyblue;

margin‐bottom: 10px;

}(6)分号必要性:每条属性后⾯的分号必须写,如果不写,会导致后⾯所有的代码加载错误。(7)css 中所有属性与属性之间对空格、换⾏、缩进不敏感。div{width:200px;height:200px;background‐color:skyblue;margin‐bottom:10px;}等价于:div {

width: 200px;

height: 200px;

background‐color: skyblue;

margin‐bottom: 10px;

}提⽰:书写代码时,最好进⾏换⾏、合理缩进,有利于读取代码。 上传代码时,为了减少代码量,可以压缩代码。注释前⾯已经了解过 HTML 中注释的写法与作⽤,在 CSS 中也可以使⽤注释。css中的注释写法:/*中间部分为注释内容*/例如:div {

width: 200px;

height: 200px;

background‐color: skyblue; /*设置标签的背景颜⾊*/

margin‐bottom: 10px;

}vs code快捷键:ctrl+/。建议:在 CSS 代码中合理书写注释内容。代码书写⽅式展开格式:开发过程中,代码展开:空⽩、换⾏、缩进。div { width: 100px; height: 100px; background-color:pink;}紧凑格式:上传服务器时,减少不必要的空格,压缩⽂件⼤⼩,利于传输。div{width:100px;height:100px;background-color:pink}英⽂⼤⼩写:css中的英⽂可以使⽤⼤写,也可以使⽤⼩写。空格规范:选择器后加⼀个空格属性冒号后加⼀个空格常⽤样式属性⽂字三属性颜⾊ color作⽤:给⽂字设置颜⾊。属性名 k :color属性值 v :颜⾊名、颜⾊值。(1)颜⾊名就是使⽤颜⾊的英⽂单词进⾏表⽰。

看⽂字颜⾊是什么?

看⽂字颜⾊是什么?

更多的颜⾊名可以通过查询⼿册得到:(2)颜⾊值指使⽤具体颜⾊的数值表⽰,包括 rgb 模式和⼗六进制模式写法。rgb 模式:是根据红绿蓝三原⾊进⾏混合⽽成的颜⾊模式,每个原⾊的取值范围是0-255,⼀共256个数值。书写⽅法:rgb(红,绿,蓝)需要记忆常⽤颜⾊⾊值:红⾊ rgb(255,0,0)绿⾊ rgb(0,255,0)蓝⾊ rgb(0,0,255)⿊⾊ rgb(0,0,0)⽩⾊ rgb(255,255,255)灰⾊ rgb(128,128,128)

看⽂字颜⾊是什么?

**⼗六进制模式:**是 rgb 模式的⼀种简化写法,使⽤⼗六进制的数字字符去替换⼗进制的 0-255 的数字。⼗六进制:逢⼗六进⼀,每个数位上只能出现 0-9,a-f 之间的字符。书写为颜⾊值时,红、绿、蓝每个⾊值都要使⽤两位数的⼗六进制进⾏标签。0→00255→ff书写⽅式:使⽤ # 开头,后⾯连续书写红、绿、蓝三个颜⾊的⼗六进制的两位数值。红⾊ #ff0000绿⾊ #00ff00蓝⾊ #0000ff⿊⾊ #000000⽩⾊ #ffffff灰⾊ #808080

看⽂字颜⾊是什么?

⼀部分⼗六进制颜⾊值可以进⾏简写,如果红、绿、蓝三个颜⾊的⾊值每⼀个都是由重叠的数字组成,可以将重叠的数字简化成⼀个进⾏书写。红⾊ #f00绿⾊ #0f0蓝⾊ #00f类似 #808080 是不能进⾏简化的。**应⽤:**实际⼯作中,颜⾊值需要根据设计图得到。字体 font-family作⽤:定义元素内⽂字的字体。属性名 k :font-family,字体属于 font 综合属性的⼀个单⼀属性。属性值 v :字体名称,必须包裹在⼀对引号中,属性值可以有多个,值之间⽤逗号分隔。常⽤的中⽂字体:宋体 SimSun微软雅⿊ Microsoft Yahei常⽤的英⽂字体:Arialconsolas如果不设置字体属性,不同的浏览器有⾃⼰的默认字体。注意1 :font-family 可以设置多个字体名称,在实际加载时只会选择⼀种加载,选择的依据是按书写顺序进⾏,如果浏览器不⽀持第⼀个字体,则会尝试下⼀个,直到找到第⼀个⽀持的字体。注意2 : 浏览器中加载的字体是⽤户机器中⾃带的,如果⽤户的电脑中没有设置的字体则加载失败,需要查找下⼀个,因此,必须在最后设置⼀个所有机器都具备的通⽤字体作为后路。注意3 :中⽂字体中⼀般带有英⽂可以加载的字体效果,为了避免对英⽂字的字体影响,建议将英⽂字体写在属性值最前⾯。

看⽂字字体是什么?abc

**应⽤:**⾸选字体需要根据设计图确定,最后需要设置备⽤字体。字号 font-size作⽤:设置⽂字的⼤⼩。属性名 k :font-size,字号属于 font 综合属性的⼀个单⼀属性。属性值 v :可以使⽤相对长度单位,也可以使⽤绝对长度单位。推荐使⽤相对长度单位。相对长度单位pxem%绝对长度单位incmmmpt说明像素值,最常使⽤的单位倍数,继承⾃祖先元素设置的字号的倍数百分⽐,继承⾃祖先元素设置的字号的百分⽐说明英⼨厘⽶毫⽶点如果 HTML 中不设置字号,不同的浏览器有⾃⼰默认的加载字号,⽐如 chrome、IE,默认显⽰字号为 16px。

看⽂字字号是多少?

不同的浏览器也有⾃⼰最⼩加载显⽰字号,如果设置的字号低于最⼩字号,都以最⼩字号加载,0除外。chrome 浏览器最⼩加载显⽰字号为12px。IE 浏览器最⼩可以⽀持1px的字号。

看⽂字字号是多少?

注意:⽹页中最⼩设置字号必须是12px,如果低于12px会出现兼容问题。现在⽹页中普遍使⽤14px+。尽量使⽤12px、14px、16px等偶数的数字字号,ie6 等⽼式浏览器⽀持奇数会有 bug。**应⽤:**实际⼯作中的字号,需要以设计图为准。盒⼦实体化样式三属性如果想在浏览器中具体看到⼀个盒⼦占有的实际位置,需要设置盒⼦可以实体化的三属性。宽度属性 k:width⾼度属性 k:height属性值 v:常⽤px为单位的数值,定义元素占有的宽度和⾼度。背景颜⾊ k:background-color,背景颜⾊是background综合属性的⼀个单⼀属性。属性值 v:颜⾊名或颜⾊值,与color的属性值是⼀样的。
1
以上6个样式属性属于css中⽐较常⽤的,后期我们将接触更多的样式属性。选择器选择器:选择要添加样式的 HTML 标签的⼀种⽅法、模式。⾸先学习 css2.1 版本的七种选择器:基础选择器:标签选择器、id 选择器、类选择器、通配符选择器。⾼级选择器:后代选择器、交集选择器、并集选择器。基础选择器标签选择器通过标签名去选择标签元素。书写⽅式:标签名。选择范围:选中的是HTML⽂件中==所有的同名标签。==注意:标签选择器可以选择所有的同名标签,会忽视 HTML 元素的嵌套关系,不管嵌套多深,都能被选中。优点:可以选中所有的同名标签,设置所有同名标签的公共样式。缺点:只能实现全选,不能对局部的标签添加特殊样式。id 选择器通过标签上的 id 属性去选择标签。书写⽅式:#id 属性值选择范围:只能选中⼀个标签。id 命名规则:必须以字母开头,后⾯可以有字母、数字、下划线、横线,严格区分⼤⼩写。每个 id 属性值必须是唯⼀的,不能与其他的 id同名。如果希望多个标签设置相同的样式,使⽤id选择器的话,必须给这多个标签取不同的 id 名,分别选中设置。#ps1 { color: red;

}#hl2 { color: red;

}缺点:id 选择器只能实现单选,不能帮我们完成多选的功能。类选择器通过标签的 class 属性去选择标签。书写⽅式:.class属性值选择范围:是页⾯中所有 class 属性值相同的标签。class 命名规则:必须以字母开头,后⾯可以有字母、数字、下划线、横线,严格区分⼤⼩写。class 属性值可以与其他的class相同。特点 1:多个不同的标签,不区分标签类型,只要 class 属性值相同,都可以被同⼀个类选择器选中。特点 2:⼀个标签的 class 属性可以有多个属性值,值之间⽤空格分隔,每个属性值组成的选择器,都可以选中这⼀个标签,每个选择器后⾯的样式都会添加给同⼀个标签。

这是⼀个普通段落

.demo {

color: red;

}.para {

font‐size: 30px;}优点:①通过⼀个类选择器进⾏多选,选中多个标签,添加公共样式。②⼀个标签可以被多个类选择器选中,可以将所有样式进⾏分离,分别提取公共样式和单独样式,节省代码量。实际⼯作中,通常我们有⼀个使⽤规律:类上样式(CSS),id 上⾏为(JavaScript)。标签的class上⽤于添加css样式,id上⽤于添加js⾏为通配符选择器通过⼀个特殊符号选择页⾯内所有的标签。书写⽅式:*选择范围:包含

标签在内的所有标签。* {

color: red;

}优点:可以实现全选,简化书写。缺点:通配符选择效率低,设置的部分公共样式不是所有标签都需要添加,如果使⽤通配符选择,会让不需要的标签也加载⼀次样式,导致浏览器多做⽆⽤的⼯作。注意:实际上线的⽹站不允许使⽤ * 去清除默认内外边距。不过普通的案例,代码量较少时,为了节省书写,可以使⽤通配符。⾼级选择器由于基础选择器不能实现所有选择情况,后期在基础选择器的基础上衍⽣出了⼏种⾼级选择器。⾼级选择器的组成部分是基础选择器。后代选择器通过标签之间存的嵌套关系(族谱关系)去选择元素,基本组成部分就是基础选择器。后代选择器也叫包含选择器。书写⽅式:空格表⽰后代,基础选择器中间使⽤空格分隔,空格前⾯的选择器选中的标签必须是后⾯选择器选中标签的祖先级。选择范围:通过后代选择器中前⾯的⼀系列基础选择器缩⼩选择范围,最终由最后⼀个选择器确定选中的标签。后代选择器必须满⾜所有的后代关系才能够被选中(你是我后代你就能被选中),后代关系不⼀定只能是⽗⼦关系。优点:减少 class 属性的定义使⽤,选择效率更⾼。交集选择器通过⼀个标签之上满⾜所有的基础选择器的需求去选择标签。书写⽅式:基础选择器进⾏连续书写,如果有标签选择器参与交集,必须书写在开头。选择范围:选择的是满⾜所有基础选择器需求的标签,如果⼀个条件不满⾜都不能被选中。⽐较常见的是标签与类的交集。 {

color: red;

}表⽰:选择的是带有 demo 类名的所有的p标签。交集选择器可以进⾏多个类名的连续交集,需要满⾜更多的条件才能选中标签。 {

font‐size: 30px;

}表⽰:选择的标签必须是

标签,同时必须具备 demo 和 para 两个类名。IE6 不⽀持类名连续交集写法。交集选择器可以作为其他⾼级选择器的组成部分。.box1 {

font‐size: 30px;

}表⽰:选择的是类名为 box1 盒⼦的后代中的类名为 demo 的

标签。并集选择器不同选择器选中的元素都要设置相同的样式,多次书写相同的样式属性对代码造成浪费,可以将前⾯六种选择器可以进⾏并集书写,相当于⼀种简化写法。书写⽅式:将多个选择器中间⽤逗号进⾏分隔,最后⼀个后⾯不能加逗号。选择范围:是所有的单独选择器选中的标签的并集集合。⽤途:①如果多个标签具有公共样式,但是不能⽤⼀个选择器选中,可以使⽤并集写法。②可以使⽤标签选择器的并集写法,进⾏默认样式的清除,替换通配符的功能。body,div,p,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,th,td {

margin: 0;

padding: 0;

}层叠式CSS 的概念中,除了前⾯提到的样式外,还有⼀个重要的概念就是层叠式,层叠式是贯穿整个css的⼀个性质,包含继承性和层叠性。继承性如果⼀个标签没有设置过⼀些样式,它的某个祖先级曾经设置过,在浏览器中该标签也加载了这些样式,这些样式都是从祖先级继承⽽来,这种现象就是继承性。总结:能够被继承的样式是所有的⽂字相关样式属性(字体和⽂本),其他的属性都不能被继承。浏览器控制⾯板:作⽤:继承性是⼀个很好的性质,可以将页⾯中出现最多的⽂字样式设置给⼀个较⼤的祖先级标签⽐如

,后期所有的后代标签都可以从

进⾏继承。body{font‐size: 14px; font‐family: "微软雅⿊"; color: red; }层叠性思考问题:同⼀个标签可以被多个选择器选中,如果选择器后⾯设置了相同的样式属性,标签最终该加载哪个?或者,在继承性中,如果多个祖先都设置了相同的⽂字样式,后代中该继承哪个祖先级的?解决⽅法:就是使⽤层叠性去解决冲突。多个选择器在进⾏对⽐的过程中,最终只有⼀个属性会成功加载,它会层叠、覆盖掉其他的属性。接下来我们分情况来分析层叠性如何发挥作⽤:(1)如果选择器都选中了标签⾃⾝。第⼀步:⽐较多个选择器的权重,权重⾼的层叠权重低的。基础选择器的权重:根据选择范围,范围越⼤权重越⼩,*** < **标签选择器 < 类选择器 < id 选择器。⾼级选择器权重⽐较⽅法:依次⽐较组成⾼级选择器的 id 的个数,类的个数,标签的个数,如果前⾯能够⽐较出⼤⼩就不再⽐较后⾯,如果前⾯相等就往后⽐较,直到⽐较出⼤⼩。⽐较顺序:( id 个数, 类的个数, 标签的个数 )第⼆步:如果选择器权重都相同,需要⽐较 CSS 中代码的书写顺序,后写的层叠先写的。(2) 如果选择器选中的是祖先元素,⽂字的样式可以被继承。第⼀步:⽐较==就近原则==,⽐较选择器选中的祖先级在HTML结构中距离⽬标标签的远近,近的层叠远的。(选中标签与⽬标标签的近远)第⼆步:如果选中的祖先级距离⽬标⼀样近(同⼀个祖先级),⽐较选择器权重,权重⼤的层叠⼩的。第三步:如果距离⼀样近,权重也相同,最后⽐较 CSS 中的书写顺序,后⾯的层叠前⾯的。(3) important 关键字如果在⽐较选择器权重的过程中,遇见⼀个 important 关键字,可以将某条 CSS 样式属性的权重提升到最⼤。书写位置:在某个css属性的属性值后⾯空格加 !important 。注意:① 就近原则中,不需要⽐较选择器权重,所有 important 会失效。② important 不能提升选择器的权重,只能提升某条属性的权重到最⼤。(4)⾏内式权重⾏内式样式与内嵌式或外联式样式⽐较权重时,⾏内式的权重最⾼。但是,与!important关键字相⽐权重要低。总结:CSS常⽤样式常⽤的 CSS 样式中,最主要的内容分为 5 个部分:页⾯修饰类:字体⽂本样式、背景样式;布局类:盒模型、浮动、定位。字体字体类样式我们已经学习过字号 font-size、字体 font-family 两个属性,接下来还有⼏个常⽤的字体属性。字体粗细 font-weight作⽤:设置⽂字是否加粗显⽰。属性名:font-weight,属于 font 属性的⼀个单⼀属性。属性值有两种⽅式:单词类型、数字类型。单词类型:属性值normalboldbolder说明默认值,定义标准的字体定义粗体字符,b、strong标签的默认值定义更粗的字体lighter属性值定义更细的字体说明案例:p {

font‐weight: bold;

}数字类型:100-900 之间的整百数字。数字越⼤,⽂字显⽰越粗。其中 400 等价于 normal,700 等价于 bold。案例:p {

font‐weight: 700;

}字体风格 font-style作⽤:设置⽂字是否斜体显⽰。属性名:font-style,属于 font 属性的⼀个单⼀属性。属性值:属性值normalitalicoblique说明设置正规的字体,⼤多数标签的默认值设置斜体的⽂字,主要针对英⽂,要求英⽂以字体中的斜体样式显⽰设置倾斜的⽂字,只是将⽂字倾斜显⽰,与字体⽆关实际应⽤中,更多的斜体效果习惯使⽤italic属性值。⾏⾼ line-height作⽤:设置的是⼀⾏⽂字实际占有的⾼度,⽂字字号在⾏⾼中是垂直居中的。属性名:line-height,属于 font 属性的⼀个单⼀属性。属性值:属性值px像素值百分⽐数值说明设置的⾏⾼的具体像素值设置的本⾝字号像素值的百分⽐实际⼯作中,⾏⾼的数值通过设计图获取,量取数值时需要使⽤⼀些辅助软件⼯具。量取⼯具:可以使⽤Fireworks软件。字体综合 font字体、字号、⾏⾼、加粗、斜体都是font综合属性的单⼀属性。font属性五个单⼀属性的值可以进⾏合写,属性值可以有2到多个,值之间⽤空格进⾏分隔。font进⾏综合书写时,必须有字号和字体参与,⽽且必须字号在前,字体在后,不能颠倒顺序。font: 14px "consolas","arial","SimSun","Microsoft Yahei";font属性经常对字体、字号、⾏⾼进⾏合写,书写顺序必须是字号、⾏⾼、字体,字号和⾏⾼之间必须⽤/进⾏分隔。font: 14px/28px "consolas","arial","SimSun","Microsoft Yahei";如果font属性需要设置加粗和斜体,两个属性值只能写在最前⾯,两个值之间可以互换位置。后⾯的字号、⾏⾼、字体不能更改位置。font: italic bold 14px/28px "consolas","arial","SimSun","Microsoft Yahei";

font: bold italic 14px/28px "consolas","arial","SimSun","Microsoft Yahei";⽂本⽂本类样式我们已经学习过颜⾊ color 属性,严格来说⾏⾼ line-height 也是⽂本类属性,由于其可以合写在 font 属性中个,暂时先归类到字体中学习,接下来还有⼏个常⽤的⽂本属性。⽔平对齐 text-align作⽤:设置⽂本⽔平⽅向的对齐。属性值:三个⽅向的单词属性值leftcenterright作⽤居左对齐,⼤部分标签的默认值居中对齐居右对齐在盒⼦中,不论⽂本是单⾏还是多⾏,都会对应⽅向对齐。案例:p { text‐align: center;}⽂本修饰 text-decoration作⽤:设置⽂本整体是否有线条的修饰效果。属性值:属性值noneoverlineline-throughunderline说明没有修饰,⼤部分标签的默认值上划线中划线,删除线, 标签的默认值下划线, 标签的默认值⽂本缩进 text-indent作⽤:设置段落⾸⾏是否进⾏缩进。属性值:属性值px 单位em 单位百分⽐说明表⽰⾸⾏缩进多少像素⾸⾏缩进⼏个中⽂字符的位置表⽰缩进⽂字所在标签的⽗级标签的 width 属性值的百分⽐属性值区分正负,正数表⽰向右缩进,负数表⽰向左缩进。盒模型盒模型⼜叫框模型,包含了五个⽤来描述盒⼦位置、尺⼨的属性,分别是宽度 width、⾼度 height、内边距 padding、 边框 border、外边距 margin。通过⼀幅图,可以简单了解五个属性的功能:盒模型的属性中,根据不同属性的效果,可以划分区域:书写元素内容区域:width+height盒⼦可以实体化的区域:width+height+padding+border盒⼦实际占位的位置:width+height+padding+border+margin学习过程中,学会查看浏览器控制台中的盒模型图:宽度width作⽤:设置可以添加元素内容的区域的宽度。属性值:属性值autopx说明默认值。浏览器可计算出实际的宽度。像素值定义的宽度。定义参考⽗元素宽度 width 的百分⽐宽度。%如果⼀个元素不添加 width 属性,默认属性值为auto,不同的元素浏览器会根据其特点⾃动计算出实际宽度,例如

元素等独占⼀⾏的,其 width 属性的值会⾃动撑满⽗元素的 width 区域,如果是

元素等不需要独占⼀⾏的,其 width 属性的值是内部元素内容⾃动撑开的宽度。 元素⽐较特殊,不需要设置 width 属性,宽度会⾃动适应浏览器窗⼝的宽度。⾼度height作⽤:设置可以添加元素内容的区域的⾼度。属性值:属性值autopx说明默认。浏览器会计算出实际的⾼度。像素值定义的⾼度。定义参考⽗元素⾼度 height 的百分⽐⾼度。%如果⼀个元素不添加 height 属性,默认属性值为auto,浏览器会⾃动计算出实际⾼度,也就是是内部元素内容⾃动撑开的⾼度。元素的⾼度⾃适应内部内容的⾼度。设置百分⽐:参考⽗级⾼度 height 的百分⽐。内边距padding作⽤:设置的是元素的边框内部到宽⾼区域之间的距离。特点:可以去加载背景,不能书写嵌套的内容。属性值:常⽤px为单位的数值。padding 是⼀个复合属性,可以根据内边距的⽅向不同划分为四个⽅向的单⼀属性。书写四个⽅向时,⼀般是按照顺时针规律书写:上、右、下、左。单⼀属性:p { padding‐top: 10px;

padding‐right: 20px;

padding‐bottom: 30px;

padding‐left: 40px;}有时为了化简书写,⼀般习惯将四个⽅向的单⼀属性进⾏合写成 padding 属性。padding 属性值:可以有 1-4 个值,值之间⽤空格进⾏分隔。根据四个⽅向属性值不同,padding 有多种值的书写表⽰⽅法。根据 padding 的属性值的个数不同,区分了四种表⽰法:①四值法:设置四个属性值,分配⽅向上、右、下、左。padding: 10px 20px 30px 40px;②三值法:三个值分配给上、左右、下。padding: 10px 20px 30px;③⼆值法:两个值分配给上下、左右。padding: 10px 20px;④单值法:属性值只有⼀个,分配⽅向上右下左,四边的值相同。padding: 10px;实际应⽤时,根据设计图需要选择不同的表⽰⽅法。案例:制作三边内边距相同,⼀边不同。①使⽤四值法、三值法,进⾏属性值设置。/*padding: 10px 10px 10px 20px;*/

padding: 10px 10px 20px;②利⽤综合属性和单⼀属性之间的层叠,对综合属性设置单值法,将四边内边距设置相同,在后⾯使⽤单⼀属性写法,再次定义某个⽅向的属性值不同,可以实现单⼀属性层叠综合属性的⼀部分。padding: 10px;padding‐top: 20px;其中第⼆种⽤法更加灵活,推荐使⽤,使⽤过程中注意书写顺序,单⼀属性必须书写在后,才能层叠掉综合属性中重复的部分。边框border作⽤:设置的是内边距外⾯的边界区域,作为盒⼦的实体化的最外层。属性值:由三个值组成,分为线的宽度、线的形状、线的颜⾊ 。border: 10px solid #f00;border 属性是⼀个复合属性,根据划分依据不同可以有两种单⼀属性的划分⽅式。①按照属性值的类型划分:线宽:border-width线型:border-style颜⾊:border-color线宽:border-width,设置边框线的宽度。属性值:常⽤px形式的数值,四个⽅向都有边框,属性值类似于 padding,也有四种值的写法。(单值法,⼆值法,三值法,四值法)border‐width: 10px 20px 30px 40px;线型:border-style,设置边框的线条形状。属性值:形状的单词,总体也是类似 padding 的综合属性写法。(单值法,⼆值法,三值法,四值法)属性值的单词可能性:属性值nonesoliddasheddotteddoublegrooveridgeinsetoutset说明定义⽆边框。定义实线。定义虚线。在⼤多数浏览器中呈现为实线。定义点状边框。在⼤多数浏览器中呈现为实线。定义双线。双线的宽度等于 border-width 的值。定义 3D 凹槽边框。其效果取决于 border-color 的值。定义 3D 垄状边框。其效果取决于 border-color 的值。定义 3D 内容凹陷效果。其效果取决于 border-color 的值。定义 3D 内容凸出效果。其效果取决于 border-color 的值。案例:border‐style: solid dashed dotted double;边框颜⾊: border-color,设置边框的颜⾊。属性值:颜⾊名或颜⾊值,整体类似 padding 综合属性写法。(单值法,⼆值法,三值法,四值法)border‐color: #f00 #0f0 #00f #ff0;②根据边框的⽅向划分:上边框:border-top右边框:border-right下边框:border-bottom左边框:border-left每个单⼀属性都必须与复合属性 border ⼀致,设置三个属性值。(width,style,color)border‐top: 10px solid #f00;

border‐right: 10px solid #0f0;③综合属性值⽅向和类型,进⼀步细分border属性:类似 border-top 的单⼀⽅向属性,也可以根据属性值类型继续进⾏单⼀属性划分。单⼀属性写法:border-⽅向-类型。注意:细分时必须先写⽅向划分再写类型划分,否则属性名错误。border‐right‐color: #0f0;实际应⽤中:若四个边都⼀样,完全可以⽤boder综合属性来设置。boder: px solid #f00;如果某⼀边有要求,按照boder单⼀属性来书写。boder-top: px solid #f00;如果还有其他要求按类型的单⼀属性来书写。boder-top-style: dashed;利⽤综合属性和单⼀属性之间的层叠,对综合属性设置单值法,将四边属性设置相同,在后⾯使⽤单⼀属性写法,再次定义某个⽅向的属性值不同,可以实现单⼀属性层叠综合属性的⼀部分。外边距margin作⽤:设置的是盒⼦与盒⼦之间的距离。特点:不能渲染背景。属性值:常⽤ px 为单位的数值。外边距的设置⽅式与内边距 padding ⼀模⼀样的。划分单⼀属性的⽅式,通过⽅向划分:margin‐top: 20px;margin‐right: 20px;

margin‐left: 20px;

margin‐bottom: 10px;

也可以使⽤ margin 复合属性的四种值的写法。margin: 10px 20px 30px 40px;

margin: 10px 20px 30px;margin: 10px 20px;

margin: 10px;盒模型扩展清除默认样式⼤部分标签都有⼀个浏览器加载的默认样式,会对布局造成⼀些影响。为了避免默认样式对整体布局效果造成影响,⼀定要清除默认样式。盒模型属性中内外边距:⼤部分容器级标签都有默认边距,要么⽤标签选择器的并集⽅式,要么通配符清除。