博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习记录——盒模型
阅读量:6715 次
发布时间:2019-06-25

本文共 1127 字,大约阅读时间需要 3 分钟。

以下图片及资料选自:

盒模型的分类:

盒模型粗略地分为IE盒模型和W3C标准盒模型

IE 盒模型(IE6及以下的表现):

这个盒模型同标准要求的不同,由IE创造出来的一个标准外的东西。 在IE环境下:

一个元素的宽度大小计算式:

content+padding+border

盒子的总宽度大小计算式:

margin-left+width+margin-right

W3C标准盒模型:

一个元素的宽度大小计算式:

content

盒子的总宽度大小计算式:

margin-left+border-left+padding-left+width+padding-right+border-right+margin-right

尽管IE的坑的都为前端开发人员所诟病,但是这个IE盒模型在开发当中却是以CSS3属性的box-sizing:border-box的形式出现, 让我们的布局能够简便地进行运算。

区域的概念:

在CSS中,每个元素都可以认为是一个矩形的盒子,盒子总共有四个边: 外边距边、边框边、填充边、内容边。

这几个边分别框住不同的区域。

内容区域:

他是元素真实内容的区域

它的大小为内容宽度 或 content-box宽及内容高度或content-box高。

填充区域:

这块区域会延伸到填充边界,而且如果内容区域有有设置了背景、颜色或者图片的话,他的样式会延伸到填充区域这一块。

内容区域与填充区域的距离可以由padding这个属性来进行设置。

边框区域:

由边框边界包裹的区域,大小为 border-box 宽和 border-box 高

外边距区域:

这片区域用来分隔元素之间的距离,它的大小为 margin-box 的高宽。

具体区域如下:

外边距合并:

块级元素之间上下外边距会出现重叠的情况,这意味着如果有两个块级元素A和B,A有下边距12px,B有上边距10px,那么如果他们在满足以下条件就会发生重叠,他们之间的边距最终会取其中最大的那个,也就是12px:

1.毗邻的两个元素会出现重叠的情况        2.父元素和它的第一个子元素或最后一个子元素,他们的子元素边距会合并重叠到父元素外面来        3.空元素复制代码

注意!按照MDN文档,第二和第三种情况意味着,元素当中不包含任何内容,并且在其 margin-top 与 margin-bottom 之间没有边框、内边距、行内内容、height、min-height 将两者分开,也就是单纯只有margin撑开,这样就能还原出情况来。

如果避免这些情况出现,除了编码上的注意,也可以借助BFC:

可以看看我的另外一篇博文,为了清晰地分开不同的知识点,就不在此赘述了。

转载地址:http://tvelo.baihongyu.com/

你可能感兴趣的文章
laravel框架——保存用户登陆信息(session)
查看>>
mapreduce 读写Parquet格式数据 Demo
查看>>
大白话系列之C#委托与事件讲解大结局
查看>>
云岸数字
查看>>
POJ 1222 EXTENDED LIGHTS OUT (熄灯问题)
查看>>
CSS知识点整理(1):CSS语法,层叠次序,选择器,其他重要方面。
查看>>
IIS部署错误解决集合
查看>>
什么是大数据时代的思维?
查看>>
20162329 实验五:数据结构综合应用
查看>>
刀剑如梦
查看>>
asp.net <%%> <%#%><%=%><%@%><%$%>用法与区别
查看>>
数据结构_1 排序
查看>>
WinEdt选项卡配置
查看>>
机器学习---文本特征提取之词袋模型(Machine Learning Text Feature Extraction Bag of Words)...
查看>>
oracle入门必备
查看>>
复习知识6月12日 sql语句
查看>>
Wireless Network
查看>>
TensorFlow指定GPU/CPU进行训练和输出devices信息
查看>>
三.python发展历程 系统位数 硬盘 python的安装 执行方式 变量、常量
查看>>
Android开发之EditText属性详解
查看>>