CSS盒子模型

本文介绍了CSS的优先级计算,包括选择器的优先级规则、!important的使用注意事项,以及权重叠加的概念。此外,详细讲解了盒子模型、内容、边框、内边距和外边距的计算,以及CSS3盒模型和外边距折叠现象的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、CSS三大特性

目标:能认识不同选择器的优先级公式,能够进行CSS权重叠加计算,分析并解决CSS冲突问题

学习路径:

  1. 继承性
  2. 层叠性
  3. 优先级

3.1优先级的介绍

➢特性:不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式  (越精准级别越高)

➢优先级公式:

继承<通配符选择器<标签选择器<类选择器< id选择器<行内样式< !important

➢注意点:

1. !important写在属性值的后面,分号的前面!

2. !important不能提升继承的优先级, 只要是继承优先级最低!

3.实际开发中不建议使用 !important。

3.2权重叠加计算

二、Chrome调试工具

三、盒子模型

1.1盒子模型的介绍

1. 盒子的概念

1. 页面中的每一 个标签,都可看做是一 个“盒子”,通过盒子的视角更方便的进行布局

2.浏览器在渲染 (显示)网页时,会将网页中的元素看做是- -个个的矩形区域,我们也形象的称之为盒子

2.盒子模型

➢CSS中规定每个盒子分别由:内容区域(content) 、内边距区域(padding) 、边框区域(border) 、外边距区域(

margin)构成,这就是盒子模型

3. 记忆:可以联想现实中的包装盒

2.1内容的宽度和高度

➢作用:利用width和height属性默认设置是盒子内容区域的大小

➢属性: width / height

➢常见取值:数字+ px

3.1边框(border) -连写形式

➢属性名: border

➢属性值: 单个取值的连写, 取值之间以空格隔开

●如: border : 10px solid red;

➢快捷键:bd+tab

3.2边框(border) -单方向设置

➢场景:只给盒子的某个方向单独设置边框

➢属性名: border -方位名词

➢属性值:连写的取值

3.4盒子实际大小初级计算公式

4.1 CSS3盒模型(自动内减)

➢需求:盒子尺寸300*300,背景粉色,边框10px实线黑色,. 上下左右20px的内边距,如何完成?

给盒子设置border或padding时,盒子会被撑大,如果不想盒子被撑大?

➢解决方法①:手动内减

●操作:自己计算多余大小,手动在内容中减去

缺点:项目中计算量太大,很麻烦

➢解决方法②:自动内减

操作:给盒子设置属性box-sizing : border-box ;即可

优点:浏览器会自动计算多余大小,自动在内容中减去

5.7外边距折叠现象-①合并现象

➢场景:垂直布局的块级元素, .上下的margin会合并

➢结果: 最终两者距离为margin的最大值

➢解决方法: 避免就好

●只给其中一个盒子设置margin即可

5.8外边距折叠现象-②塌陷现象

➢场景:互相嵌套的块级元素,子元素的margin-top会作用在父元素上

➢结果:导致父元素-起往下移动

➢解决方法:

1.给父元素 设置border-top或者padding-top (分隔父子元素的margin-top)

2.给父元素设 置overflow: hidden

3.转换成行内块元素

4.设置浮动

### CSS 盒子模型详解 CSS盒子模型是网页设计和布局中的核心概念之一。它描述了HTML文档结构化的方式以及如何通过样式控制这些元素的空间分配。 #### 1. 盒子模型的组成部分 每个HTML元素都可以看作是一个矩形盒子,该盒子由以下几个部分组成[^1]: - **内容 (Content)**: 这是盒子的主要区域,用于放置文本或其他媒体内容。 - **内边距 (Padding)**: 它位于内容边缘与边框之间的空白区域,用来增加内容周围的可读空间。 - **边框 (Border)**: 边框围绕着内边距和内容,可以设置不同的宽度、颜色和风格来定义边界线。 - **外边距 (Margin)**: 外边距是在边框之外的一片透明区域,用于分隔相邻的盒子并防止它们相互接触。 #### 2. 盒子模型属性 以下是几个重要的盒子模型相关属性及其功能说明: ##### 2.1 `width` 和 `height` 属性 这两个属性分别设定盒子的内容区宽度和高度。需要注意的是,默认情况下,指定的尺寸仅适用于内容区域而不包括 padding, border 或 margin 的值[^2]。 ##### 2.2 `border` 边框属性 可以通过此属性自定义边界的外观,比如粗细、线条样式(实线、虚线等)以及颜色[^3]。 ##### 2.3 `padding` 内边距 用于调整内部填充量,即内容与其周围边框间的距离。它可以单独应用于上、右、下、左各个方向或者统一应用到所有侧面[^1]。 ##### 2.4 `margin` 外边距 负责管理与其他元素之间外部间距的部分。同样支持多向配置,并且当两个垂直 margins 邻近时会发生折叠现象——取两者较大者作为最终间隔[^2]。 ##### 2.5 盒子模型占位计算 总的实际占用面积等于 content area 加上其四周的所有附加层厚度之和。例如给定一个具有固定 width/height 值为100px 的 div 元素加上额外参数如下所示,则实际渲染出来的大小将是 `(100 + 5 + 5 + 20 + 20)` px × `(100 + 5 + 5 + 20 + 20)` px: ```css div { width: 100px; height: 100px; border: 5px solid black; /* 上下左右均为5像素 */ padding: 20px; /* 各侧均设为20像素 */ } ``` #### 3. box-sizing 属性 为了简化复杂布局的设计过程,引入了一个名为 `box-sizing` 的新特性。默认行为遵循传统标准模式 (`content-box`) ,其中声明的 dimensions 不含 paddings/borders;而另一种选项叫做 alternate model(`border-box`) 可让开发者更直观地操作整体尺寸因为此时所指代的就是整个可视范围内的确切数值. ```css /* 使用 border-box 来改变盒模型的行为方式*/ * { box-sizing: border-box; } ``` 以上便是关于CSS盒子模型的一些基本介绍及常见应用场景下的实现方法论探讨。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值