前端盒子模型

CSS的盒子模型

CSS的盒子模型是CSS技术所使用的一种思维模式,CSS里面可以形象的所有HTML标签当成一个矩形的盒子(类似生活中的盒子);
盒子模型的组成部分:margin(外边框)、padding(内边框)、border)(边框)、content(内容区);
盒子模型的分类: 标准的盒子模型(w3c盒子模型)、怪异盒模型(IE盒子模型);

标准的盒子模型:

标准盒子模型
怪异盒子模型:
怪异盒子模型

从以上两个图片可以看出 两种盒子模型的组成部分都含有:margin、padding、border、content,不同的是怪异盒子的content包含了border和padding;
一开始我看这两个图的时候还是很懵逼的,我举个例子可能就懂了
举例子说明二者的区别:

div{ width:200px; height:200px; margin:30px; padding:10px;
border:10px; }

标准的盒子模型:

盒子在页面中占的宽度width=200(content的宽)+ margin * 2+padding * 2 + border * 2=200+302+102+10*2=300;
盒子的实际宽度是:300-margin * 2 =240;
IE盒子模型:
盒子在页面中占的宽度 width=200(content的宽) + margin *2 = 260;
盒子的实际宽度是:260-margin * 2 =200;

关于组成部分属性需要注意的地方:

  • margin-top存在兼容问题:默认情况下,给子元素添加margin-top后,本身盒子应该自动往下移,但是浏览器解析的是父元素下移;
    解决办法:

  • 给子元素或父元素添加浮动(看布局情况);

  • 给最近的父元素添加透明的上边框;

  • 给父元素添加overflow:hidden;
    2.margin的上下间距会重叠(原因是因为BFC),当两个并列的元素,给上面一个元素添加了margin-bottom,另一个添加了margin-top时,这个时候两个margin会发生重叠,最终显示的结果是最大的数据。
    解决办法:

  • 给下面的元素添加父元素,并且添加overflow:hidden;
    3.padding是内边距,添加会把容器撑大,不可以给负值,不支持auto;

IE的盒子模型:

触发方式就是文档的声明结构中的doctype不写,这个是IE8以下的低版本有;
另一种办法就是给元素添加box-sizing:border-box;这是属于css3的属性,触发容器为怪异盒子模型后,再给模型添加border和padding就不会把盒子撑大,当设置了容器的固定宽高时,又添加padding;
想要保证盒子大小不变,必须减去padding的数值,也可以考虑触发怪异盒子模型,如果没有设置容器的固定宽高,那么就不用减去padding。

逆战班:李老师;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端开发过程中,可以通过CSS3来设置盒子模型盒子模型CSS中布局的基础,可以控制元素的尺寸、边距、填充和边框。 首先,可以使用CSS的`width`和`height`属性来设置盒子的宽度和高度。通过指定一个固定的像素值、百分比或者其他单位,可以精确地定义盒子的尺寸。 其次,可以使用`margin`属性来设置盒子的外边距。外边距可以控制盒子与周围元素之间的间距。可以分别设置上、右、下、左四个方向的外边距,也可以直接设置一个值来统一设置四个方向的外边距。 接着,`padding`属性可以用来设置盒子的内边距。内边距指的是盒子内容与盒子边框之间的距离。同样,可以分别设置四个方向的内边距,或者使用一个值来统一设置。 还可以使用`border`属性来设置盒子的边框。可以指定边框的宽度、样式和颜色。边框样式可以是实线、虚线、点线等,颜色可以是具体的颜色值或者预定义的颜色关键字。 除此之外,CSS3还引入了更多的盒子模型属性,比如`box-shadow`可以设置盒子的阴影效果,`border-radius`可以设置盒子的圆角,`background`可以设置盒子的背景样式等。 总结来说,CSS3盒子模型的设置包括宽度和高度的调整、外边距和内边距的控制、边框样式的定义以及一些附加效果的设置。这些属性的灵活使用可以让前端开发者更好地控制和布局网页中的元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值