浅谈前端的盒子

盒子的定义所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。在这里插入图片描述

如开发者工具中盒子模型所示,他有4个组成部分

Margin(外边距) - 清除边框外的区域,外边距是透明的。
Border(边框) - 围绕在内边距和内容外的边框。
Padding(内边距) - 清除内容周围的区域,内边距是透明的。
Content(内容) - 盒子的内容,显示文本和图像。

在我们进行页面布局的时候需要大量的使用到盒子,他有盒子本身的Border(边框)Padding(内边距)Content(内容) 以及盒子外部的外边距即 margin 4个部分组成。

在css3之前使用这四个属性进行页面布局都是比较合适的,但是在css3之后我不推荐使用margin 这个属性。这是因为css3新增加的—“box-sizing:border-box;”。在盒子中设置了这个属性后:使得padding和border加上content的宽高是受到width和height属性的控制的。而margin 是不受控制的,如下如可见,他的content+padding+border刚好是我设置的width和height的值,而margin处于width和height的约束之外,大量的使用margin会破坏布局的整体性,大大加大计算量,造成内容溢出等破坏布局的情况。
在这里插入图片描述
介绍盒子的基本概念后我们来了解一下css3新增加的属性flex布局。
MDN对弹性盒子(flex)的解释是:

CSS 弹性盒子布局是 CSS 的模块之一,定义了一种针对用户界面设计而优化的 CSS 盒子模型。在弹性布局模型中,弹性容器的子元素可以在任何方向上排布,也可以“弹性伸缩”其尺寸,既可以增加尺寸以填满未使用的空间,也可以收缩尺寸以避免父元素溢出。子元素的水平对齐和垂直对齐都能很方便的进行操控。通过嵌套这些框(水平框在垂直框内,或垂直框在水平框内)可以在两个维度上构建布局。

基本例子
在以下示例中,已将容器设置为 display: flex ,这意味着三个子项成为弹性项。justify-content 的值已设置为 space-between ,以便在主轴上均匀地分隔项目。在每个项目之间放置等量的空间,左侧和右侧项目与Flex容器的边缘齐平。你还能看到项目在十字轴上拉伸,因为 align-items 的默认值为 stretch。这些项目伸展到Flex容器的高度,使它们看起来都像最高的项目一样高。
在这里插入图片描述
这里推荐大家去看一下阮一峰老师的介绍,他的水平和介绍均远在本人之上,推荐大家去看一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值