整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

一文带你掌握CSS基础:盒子模型(Margin、Border、Padding)


个网页前端是由HTML DOM与嵌套组合形成视图结加上 CSS 样式的修饰形成视图,由JavaScript 接受用户的交互请求,以事件机制来响应用户交互操作而形成的。CSS是前台页面形式最重要的部分,它负责控制DOM元素的页面布局和颜色、大小的属性。

在CSS中有一著名的盒子模型理论,可以用它来控制DOM的位置。基于div+css技术的“盒子模型”的出现大大代替了传统的table表格嵌套。

虽然其十分好用,但是对于很多新手来说,却很难搞清楚它几个属性和内容之间的联系个区别。

盒子模型概念

所有页面的元素都可以看做一个盒子,占据着一定的页面空间。一般来说这些被占据的空间往往会比单纯的内容要大。因此,可以通过盒子的边框和距离等参数来控制内容的位置。

Div+CSS 盒子模型

说明:

1、Margin:中文叫外边距,主要作用是控制边框外(Border以外)的区域,外边距是透明的

2、Border:中文叫边框,是围绕在内边距(Padding)和内容外的边框。注意,它不是透明的

3、Padding:中文叫内边距,控制内容周围的区域,内边距是透明的

4、Content:内容,盒子的内容,显示文本和图像。

5、在Css文件中设置的Div的Css.width和Css. height就是内容的宽和高。

6、盒子实际尺寸有可能大于内容尺寸:

盒子模型的总宽度等于content(宽)+padding(左右)+border(左右)+margin(左右);

盒子模型的总高度等于content(高)+padding(上下)+border(上下)+margin(上下);

实例演示--原始样式

接下来通过实例演示的方式来一一讲解Margin、Border、Padding的作用和区别。

页面如图所示:


原始样式

代码:

HTML:
<body>
    <div class="TsetUpper"></div>
    <div class="TsetMiddle"></div>
    <div class="TsetDown"></div>
</body>
CSS:
.TsetUpper{
	width: 400px;
	height: 200px;
	background-color: black;
	position: relative;
	margin: auto;
	text-align: center;
}
.TsetMiddle{
	width: 600px;
	height: 200px;
	background-color: red;
	position: relative;
	margin: auto;
}
.TsetDown{
	width: 400px;
	height: 200px;
	background-color: black;
	position: relative;
	margin: auto;
	text-align: center;
}

Border

元素边框:我们可以在CSS边框属性中设置元素边框的样式和颜色。

按如下代码设置Div(TsetMiddle)的Border(边框):

border-style:solid;
border-width: 10px;
border-color: aqua;

刷新页面如下图:此时TsetMiddle这个盒子的总宽度已经变成200+30+30了,而且可以设置其底色和线条样式。

Border

Margin

margin 控制周围的元素区域。margin 没有背景颜色,是完全透明的。通过margin可以控制元素与四周元素的空隙距离;

按如下代码设置Div(TsetMiddle)的margin(外边距):

margin: 30px auto;

刷新页面如下图:此时TsetMiddle这个盒子的总宽度已经变成200+30(Border)+30(Margin)+30(Border)+30(Margin)了。

Margin

Padding

Padding:当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背景颜色的填充。

按如下代码设置Div(TsetMiddle)的margin(外边距):

padding: 30px;

刷新页面如下图:此时TsetMiddle这个盒子的总宽度已经变成200+30(Padding)+30(Border)+30(Margin)+30(Padding)+30(Border)+30(Margin)了。

Padding

总结

1、各属性的值可以用px为单位,也可以用em,百分比等。

2、可以利用盒子的各种属性,调整其内容在父容器中的位置。

SS全称“Cascading Style Sheet”,它的意思是“层叠样式表”或“级联样式表”,CSS盒子模型是在网页设计中用到的CSS技术中引用的一种思维模型。CSS盒子模型由内容区、填充、边框、空白边组成。

CSS盒子模型常见用途

由于CSS盒子模型是CSS中的一个重要概念,每一个元素都可以当作一个矩形的盒子,这个矩形盒子可以描述元素所占空间内容。CSS盒子模型更方便了设计者对网页设计的整体把控。

CSS盒子模型绘制方法

用亿图图示绘制CSS盒子模型十分简单,只需要找到指定模板即可,新手参考以下几个步骤即可完成CSS盒子模型的绘制。

第一步:下载“亿图图示”软件,启动软件界面,登录账号开始操作。

第二步:点击搜索框输入“CSS盒子模型”,寻找符合设计要求的CSS盒子模型模板,点击“使用”打开CSS盒子模型模板。

第三步:点击操作区的CSS盒子模型,根据自己的需要,在模板上修改各层次的注释,在上方操作区更改字体为黑体,并更改字体大小。

第四步:双击CSS盒子模型中的“文本”方框,即可输入CSS盒子模型中的文本,右侧填充可以修改填充色、边框颜色。

第五步:完成CSS盒子模型制作之后,点击左上角的“保存”等按钮,本次选择保存为让图片格式,修改好分辨率等参数之后,CSS盒子模型就可以存储在电脑中。

以上就是CSS盒子模型绘制方法的相关介绍。

CSS盒子模型绘制软件——亿图图示

当有绘制CSS盒子模型的需求时,选择亿图图示这款国产矢量绘图软件,让用户绘图事半功倍。
亿图图示是一款与众不同的矢量绘图软件,它采用了与其他绘图软件完全不同的思维模式设计开发,在满足了用户基本的绘图需求基础上,开发了模板套用功能,让绘图的效率提高许多,同时,在云存储的加持下,亿图图示用户可以随时随地绘制作品。
使用亿图图示绘制CSS盒子模型,直接套用一个模板,在原有基础上修改、添加需要的元素,提升绘图效率。

为什么选择亿图图示绘制CSS盒子模型?

1、可靠软件,值得信赖:亿图图示经过了九个大版本的升级,软件可靠程度大幅增加,现在已经拥有超过900万用户,庞大的使用群体是亿图图示经受住市场优胜劣汰的体现。
2、软件资源库强大,满足绘图需求:亿图图示拥有数量庞大的矢量符号库和模板库,当用户绘图时可以很轻松的找到自己需要的符号,即使符号很特殊在库中找不到,用户也可以自行绘制或者导入本地符号图形、从库外调用。
3、先用后付,性价比高:亿图图示为新用户谋福利,凡是新注册的亿图图示账户,均可长期使用免费基础版本。当有高级需求的时候,可以再升级购买会员版。

SS盒模型本质上是一个盒子,每一个元素都被抽象成一个盒子,每一个盒子又包括四部分

内容(content),内填充(padding),边框(border),外边距(margin)

盒子模型简图

标准盒子模型&&IE盒子模型

  • IE盒子模型

width = content-width + padding-width + border-widthheight = content-height + padding-height + border-height

  • 标准盒子模型

width = content-widthheight = content-height

BFC块级元素

一个块格式化上下文(block formatting context) 是Web页面的可视化CSS渲染的一部分。它是块盒子的布局发生,浮动互相交互的区域。

  • CSS2.1中规定满足下列CSS声明之一的元素便会生成BFC
- 根元素,即HTML元素
- float的值不为none
- overflow的值不为visible
- display的值为inline-block、table-cell、table-caption
- position的值为absolute或fixed
  • 作用
- 自适应两栏布局
- 可以阻止元素被浮动元素覆盖
- 可以包含浮动元素——清除内部浮动
- 分属于不同的BFC时可以阻止margin重叠

可替换元素

在 CSS 中,可替换元素replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的简单来说就是通过修改某个属性就使得显示变换的元素

  • 常见替换元素

img/object/video/iframe/textarea/input

  • 特征
- 内容和外观不受页面上CSS的影响
- 有默认的尺寸,并且在很多CSS上有自己的表达样式

伪元素

  • ::before
在元素内容之前插入额外生成的内容
  • ::after
在元素内容之后插入额外生成的内容
  • ::first–letter
选取元素的首个字符
  • ::first–line
选取元素的第一行
  • ::selection
对用鼠标键盘等已选取的文字部分应用样式
  • ::spelling-error
表示浏览器标记为不正确拼写的文本段
只有一小部分CSS属性可用于 ::spelling-error 伪元素选择器:
color/background-color/cursor/caret-color/outline
text-decoration/text-emphasis-color/text-shadow
  • ::grammar-error
伪元素应用于浏览器标识为语法错误的文本段
只有一小部分的css能够应用在::grammar-error的选择器中
color/background-color/cursor/text-emphasis-color/text-shadow/outline/text-decoration
  • ::focus-within
当元素本身或其后代获得焦点时,:focus-within伪类的元素就会有效

focus-within兼容情况