博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扯点:Box Modal - 盒模型
阅读量:7142 次
发布时间:2019-06-29

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

在文档中,元素被表示为一个矩形的盒子。

在CSS中,使用盒模型描述这些矩形盒子中的每一个。这个模型描述了元素所占空间的内容。每个盒子有四个边:外边距边(margin), 边框边(border), 内填充边(padding)与内容边(content)。

image

计算元素宽高

box-sizing 决定元素宽度和高度如何计算

box-sizing支持的属性

content-box | border-box
描述
content-box 宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框。
border-box 为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制

padding

描述
auto 浏览器计算内边距。
length 规定以具体单位计的内边距值,比如像素、厘米等。默认值是 0px。但不允许使用负值。
% 规定基于父元素的宽度的百分比的内边距。

实际测试padding的百分比,测试结果并不是等于,而是近似等于。浏览器计算会存在偏差,

border

  1. border绘制在“元素的背景之上”,换句话来说,元素的背景是内容、内边距和边框区的背景。
  2. border默认样式border-style:none;
  3. 默认颜色border-color: 元素文本颜色。利用这个特性,解决边框和文本颜色需要保持的设计要求。
  4. 实现透明边框 border-color:transparent;

margin

描述
auto 浏览器计算外边距。
length 规定以具体单位计的外边距值,比如像素、厘米等。
% 规定基于父元素的宽度的百分比的外边距

margin: auto计算规则

设置margin: auto后,

  1. 行内元素,行内块级元素margin取值0;
  2. 块级元素,在文档流中

    • margin-bottom和margin-top取值0;
    • margin-left和margin-right取值相同,按照下面公式计算

      'margin-left' + 'border' + 'padding' + 'width' + 'margin-right' = width of containing block
  3. 块级元素,不在文档流中

    • margin-left和margin-right取值相同,按照下面公式计算

      'margin-left' + 'border' + 'padding' + 'width' + 'margin-right' = width of containing block
    • margin-top和margin-bottom取值相同,按照下面公式计算

      'margin-top' + 'border' + 'padding' + 'height' + 'margin-bottom' = height of containing block

margin collapsing(外边距塌陷、外边距合并)

  1. 在同一个文档流中,同一个BFC内,两个相邻块级元素的垂直方向上外边距(margin-top/margin-bottom)会合并
  2. 当两个元素属于不同的BFC时,这两个元素的外边距不会合并。

发生外边距塌陷的三种基本情况

  1. 相邻的兄弟姐妹元素
  2. 块级父元素与其第一个/最后一个子元素
  3. 空块块级元素

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

你可能感兴趣的文章
深入理解Linux内核-块设备驱动程序
查看>>
yield return 和yield break
查看>>
念念不忘SERVLET
查看>>
L11,one good turn deserves another
查看>>
Code::Blocks设置支持C++ 11
查看>>
韩媒:美驻韩大使要求韩大幅上调防卫费分担额
查看>>
客运压力大 北京地铁4号线、大兴线工作日早高峰将限流
查看>>
中关村硬科技孵化器首次合作建科技成果转化创新平台
查看>>
广州外援斯贝茨被CBA公司停赛4场 罚款10万元
查看>>
福利!给所有需要找工作的小伙伴分享让我印象深刻的的开发面试题(第二部分),朋友们收好哦...
查看>>
React 折腾记 - (5) 记录用React开发项目过程遇到的问题(Webpack4/React16/antd等)
查看>>
Angular 6 + 折腾记 :(11) 写一个挺不靠谱的多少秒/分/时/天前的管道
查看>>
掘金翻译计划周报 — 2018 年 9 月第 2 期
查看>>
整合登录界面与管理系统
查看>>
PyCon2018 回顾 (Part 1)
查看>>
vuex
查看>>
平时自己项目中用到的 CSS
查看>>
微信小程序5月带给我们的惊喜
查看>>
如何实现类似易企秀的可视化 H5 编辑器?
查看>>
[译] 游戏即服务的五条建议,提升游戏变现能力
查看>>