问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是css盒子模型

发布网友 发布时间:2023-07-29 00:26

我来回答

1个回答

热心网友 时间:2024-05-24 05:42


css盒子模型又称为框模型,盒子的最内部是元素的实际内容即元素内容,紧挨着元素框外部的是内边距,其次是边框,然后最外层是外边距,这几部分共同组成了盒子模型
盒子模型是html+css中最核心的基础知识,理解了这个重要的概念才能更好的排版,进行页面布局。下面是总结的关于css盒子模型的知识,希望对大家有所帮助。
一、css盒子模型概念
CSS css盒子模型又称框模型 (Box Model) ,包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。如图:


图中最内部的框是元素的实际内容,也就是元素框,紧挨着元素框外部的是内边距padding,其次是边框(border),然后最外层是外边距(margin),整个构成了框模型。通常我们设置的背景显示区域,就是内容、内边距、边框这一块范围。而外边距margin是透明的,不会遮挡周边的其他元素。
那么,元素框的总宽度 = 元素(element)的width + padding的左边距和右边距的值 + margin的左边距和右边距的值 + border的左右宽度;
元素框的总高度 = 元素(element)的height + padding的上下边距的值 + margin的上下边距的值 + border的上下宽度。
二、css 外边距合并(叠加)
两个上下方向相邻的元素框垂直相遇时,外边距会合并,合并后的外边距的高度等于两个发生合并的外边距中较高的那个边距值,如图:


比较容易理解,所以在页面中有时候遇到实际情况是需要考虑这个因素的。当然外边距合并其实也有存在的意义,如下图:


需要注意的是:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。
css reset 中也会经常用到
* {
margin : 0;
padding : 0;
}三、box-sizing属性介绍
box-sizing属性是用户界面属性里的一种,之所以介绍它,是因为这个属性跟盒子模型有关,而且在css reset中有可能会用到它。
box-sizing : content-box|border-box|inherit;(1) content-box ,默认值,可以使设置的宽度和高度值应用到元素的内容框。盒子的width只包含内容。
即总宽度=margin+border+padding+width
(2) border-box , 设置的width值其实是除margin外的border+padding+element的总宽度。盒子的width包含border+padding+内容
即总宽度=margin+width
很多CSS框架,都会对盒子模型的计算方法进行简化。
(3) inherit , 规定应从父元素继承 box-sizing 属性的值
关于border-box的使用:
1、一个box宽度为100%,又想要两边有内间距,这时候用就比较好
2、全局设置 border-box 很好,首先它符合直觉,其次它可以省去一次又一次的加加减减,它还有一个关键作用——让有边框的盒子正常使用百分比宽度。
四、实际开发中遇到的和框模型相关的应用及小问题。
1、margin越界(第一个子元素的margin-top和最后一个子元素的margin-bottom的越界问题)
以第一个子元素的margin-top 为例:
当父元素没有边框border时,设置第一个子元素的margin-top值的时候,会出现margin-top值加在父元素上的现象,解决方法有四个:
(1)给父元素加边框border (副作用)
(2)给父元素设置padding值 (副作用)
(3)父元素添加 overflow:hidden (副作用)
(4)父元素加前置内容生成。(推荐)
以第四种方法为例:
.parent {
width : 500px;
height : 500px;
background-color : red;
}.parent : before {
content : " ";
display : table;}.child {
width : 200px;
height : 200px;
background-color : green;
margin-top : 50px;}
<div class="parent">
<div class="child"></div> </div>2、 浏览器间的盒子模型。
(1)ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。
(2)标准盒子模型与IE模型之间的差异:
标准的盒子模型就是上述介绍的那种,而IE模型更像是 box-sizing : border-box; 其内容宽度还包含了border和padding。解决办法就是:在html模板中加doctype声明。
3、用盒子模型画三角形
<!DOCTYPE html><html>
<head>
<style>
.triangle {
width : 0;
height: 0;
border : 100px solid transparent;
border-top : 100px solid blue; /*这里可以设置border的top、bottom、left、right
四个方向的三角*/
}
</style>
</head>
<body>
<div class="triangle"></div>
</body></html>页面显示结果为:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
刘备与宋江哪个损? 做一个2分钟的flash小动画,我一定加50分 谢谢各位flash高手了 求一个一分钟左右的关于励志奋斗的FLASH动画 “次子论列于朝”的出处是哪里 中华情·走进生态寿光晚会节目单 驾照审核过期了怎么办? 小车d档代表什么意思 学生办理信用卡条件是什么? 农村院子用水泥毯怎样 水泥毯好不好用,水泥毯能取代水泥墙吗 什么是盒子模型 我的手机经常出现CD 卡移出怎么回事 手机突然显示CD卡已经移除是什么情况? 求《超级app》电影里面有段在酒吧里的剧情,男主跳舞那段,当时的背景音 ... 应采儿主演的电影 梦见黑狗进家是什么意思 梦见黑狗进家 推荐24本中医书 北影,中戏,上戏表演系江苏各招多少人? 燕子归去是什么季节 手机m1自拍杆电池哪里有卖 有哪些好看的动漫 (人物要酷帅、唯美的) 鱼塘有鱼怎么肖毒 新型农民是本土人才吗 请问钢化玻璃因尺寸过大,先少量磨边,再进钢化炉回炉,对钢化玻璃品质会造... 12年宝马530Li 火花塞型号是什么? 2001款老宝马530li用哪个型号尺寸火花塞 2022款宝马530li尊享豪华版改款三火花塞热值多少 宝马530li21款原车是铱铂金的火花塞吗 精梳棉的裙子夏天穿热吗 运动型轿车的结论 善良的本质有什么意义? 吊车可以卸玻璃原片吗 大型玻璃怎么样上楼呀, 吊玻璃吊机速度多少合适 我的房子窗户玻璃电梯放不下 自己叫吊车吊上楼 物业不让吊车进小区 合... 吊车安装玻璃从上之下还是从左到右 猪鼻子插大葱的歇后语 北京顶峰世纪科技有限公司怎么样? 西安顶峰云端信息科技有限公司怎么样 中科顶峰智能科技(重庆)有限公司是国企吗? 北京雷奥顶峰生物科技有限责任公司怎么样? 北京迈迪顶峰医疗科技股份有限公司是专精特新企业吗? 我心爱的姑娘的歌手履历 三星9300手机如何与电脑连接才能拷贝文件,而不是插上数据线变成了充电... 三星9300USB调试打开后还是无法连接USB 孔雀东南飞,孔雀为什么要飞走?为什么五里一徘徊? 传说孔雀本来是能飞的鸟之好的成语? 70r/次是什么意思 音乐裁缝是什么梗