当前位置: 首页 > Web前端 > HTML

零基础教你学前端——77、CSS盒子模型

时间:2023-04-02 19:57:12 HTML

在网站布局中,我们会用到各种元素,这些元素本质上就是一些小的容器,也叫盒子,盒子里面可以放置文字,图片,或其他元素。什么是CSS盒子模型?CSS盒子模型本质上是一个盒子,包裹着每一个HTML元素,包括四个部分:margin、border、padding和content。浏览器使用盒模型来计算元素在网页中占用的空间。前面我们介绍了这些盒子模型的元素:Content,表示盒子的内容,包括文字、图片等。Padding,表示填充内容周围的一块区域,是透明的。Border,表示填充和内容周围的边框。边距,即边界以外的区域,也是透明的。让我们举个例子。创建一个019-css-box-model文件夹,在文件夹内创建一个box-model-1.html文件和一个box-model-1.css文件。构建html基本代码并导入样式文件。为了对比效果,我们定义两个div元素,添加不同的类名,补全文字。HTML盒模型组件:内容、内边距、边框、外边距

盒模型组件:内容、内边距、边框、外边缘
CSS*{保证金:0;填充:0}div{宽度:200px;height:200px;}.box1{背景色:orange;边框:20px纯灰色;填充:20px;边距:20px;}.box2{background-color:yellow;}打开CSS文件,定义通配符选择器,声明样式margin:0,padding:0。取消所有元素的默认margin和padding样式。定义div选择器,声明样式:width:200px,height:200px。为两个div元素添加宽度和高度。定义.box1选择器并声明样式:背景颜色:橙色。定义.box2选择器并声明样式:背景颜色:黄色。在浏览器中预览效果,两个背景色的方框就做好了。为box1添加样式:border:20pxsolidgrey,为橙色框添加边框。与黄色框相比,橙色框的总宽度增加了40px,总高度也增加了40px。继续给box1添加样式:padding:20px。此时橙色框继续变大。与黄色框相比,宽度和高度又增加了40px。继续给box1添加样式:margin:20px。这时候我们发现因为添加了margin,所以橙色框的位置发生了偏移。通过这个例子,我们发现给元素添加padding、border、margin后,盒子会变大,位置也会发生变化。那么,如何在所有浏览器中正确设置元素的宽度和高度呢?这对于精确的页面布局意义重大!计算盒子的宽和高,请牢记这两个公式:盒子宽度=内容宽度+左内边距+右内边距+左边框+右边框+左外边距+右外边距盒子高度=内容高度+顶部内边距+底部padding+TopBorder+BottomBorder+TopMargin+BottomMargin同样:当你应用CSS设置元素的宽度和高度属性时,你只设置了元素内容区域的宽度和高度。要计算元素的完整大小,必须添加填充、边框和边距。在标准盒模型之上我们称计算元素大小的盒模型。给元素设置了margin和padding属性后,元素本身的宽高是否可以固定为设置值?这就需要应用另一种盒模型,称为怪盒模型。为元素声明box-sizing属性,值为border-box,元素将根据奇怪的盒子模型调整大小。让我们从一个例子开始。在019-css-box-model文件夹下,创建一个box-model-2.html文件和一个box-model-2.css文件。构建html基本代码并导入样式文件。为了对比效果,我们还是定义两个div元素,添加不同的类名,补全文字。HTML我是一个div,用来演示奇怪的盒子
我是一个div,用来比较
CSS*{margin:0;填充:0}div{宽度:200px;height:200px;}.box1{背景颜色:橙色;框大小:边框框;边框:20px纯灰色;填充:20px;margin:20px}.box2{background-color:yellow;}打开CSS文件,定义通配符选择器,声明样式margin:0,padding:0。取消所有元素默认的margin和padding样式。定义div选择器:声明样式:宽度:200px,高度:200px。定义.box1选择器并声明样式:背景颜色:橙色。定义.box2选择器并声明样式:背景颜色:黄色。在浏览器中预览效果,两个背景色的方框就做好了。给box1添加样式:box-sizing:border-box,触发奇怪的盒子模型。继续添加样式border:20pxsolidgrey,padding:20px。可以看到,box1添加了border和padding,但是大小没有变化,宽高还是200px。显然,内容的大小被压缩了。继续为box1添加样式:margin:20px。你可以猜想,边距会不会继续压缩内容?仔细一看,box1的位置发生了偏移,容器的大小没有变化。因此,怪异盒子模型的宽高计算公式为:盒子宽度=CSS样式设置的宽度值+左边距+右边距盒子高度=CSS样式设置的高度值+左边距+右边距其实,box-sizing属性还有一个值:content-box,这是用来触发元素的标准盒模型。这也是元素盒模型的默认值。如果元素没有设置box-sizing属性,则容器的大小按照标准盒模型计算。回到样式代码,将box1的box-sizing属性的值改为content-box。我们发现容器的总宽高变成了320px。注释掉box-sizing:content-box,容器的总宽高还是320px。HTML文章配套视频链接:https://www.bilibili.com/video...