博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
精通CSS盒模型
阅读量:6642 次
发布时间:2019-06-25

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

什么是CSS盒模型

每个html元素我们可以认为表示为一个小盒子。一个盒子里面有边框+内边距+内容组成。这就是所谓的盒模型。

基本概念:标准模型+IE模型

盒模型细分成标准模型IE模型两种模式,两者差别就是划定界限不一样。

主要还是浏览器解析盒模型标准各不一样引起的。浏览器默认盒子应该标准模型,而IE则认为边框+内边距+内容才算的是盒模型。

所以为了解决这矛盾,文档需要声明DOCTYPE类型,这样所有的浏览器都会把盒模型解释为b标准盒模型

标准模型和IE模型区别

  • content-box(标准盒模型)
    • width = 内容的宽度
    • height = 内容的高度
  • border-box(IE模型)
    • width = border + padding + 内容的宽度
    • height = border + padding + 内容的高度

CSS如何设置这两种模型

有一天,有人觉得IE模型和标准模型各各的优点,所以CSS3规范有新出box-size属性来转换两者模式(默认标准模型)

然而你以为这样就结束了吗?并没有。

当你写复杂点页面时候又会遇到一些常见的问题:

  • 上下两个相邻盒子的margin会发生重叠
  • 浮动盒子和普通盒子重叠
  • 盒容器里面的子元素影响到外面的元素。
  • 计算浮动盒子高度为零。

为了解决这些问题,我们就要触发BFC,来处理这些问题:

什么是BFC原理

块级格式化上下文

怎么触发 BFC

  • float不为none
  • position不为static/relative
  • display的值为inline-block、table-cell、table-caption、flex
  • overflow的值不为visible

上下两个相邻盒子的margin会发生重叠

解决方法:

浮动盒子和普通盒子重叠

浮动的盒子会在文档流的盒子上面,主要是浏览器识别不到浮动盒子,也就计算不到高度,解决方法,给盒子加个属性触发BFC

转载于:https://juejin.im/post/5c85d627f265da2de165d6b7

你可能感兴趣的文章
cpu负载的探讨
查看>>
【go语言】读书随笔
查看>>
python链接mysql常见问题汇总
查看>>
symantec 5220牛刀小试系列(三)
查看>>
监控SQL Server事务复制
查看>>
解决Linux下sqlplus中文乱码问题
查看>>
普华永道:2017年全球信息安全状况调查分析
查看>>
互联网公司的项目经理:别轻易脚踩两只船
查看>>
WSUS服务器的详细配置和部署
查看>>
添加社交网络到您的站点(Adding Social Networking to Your Website)
查看>>
linux运维实战练习-2015年8月30日课程作业(练习)安排
查看>>
谈谈自己的web开发经历(一):初识web开发
查看>>
在制作WORD小报时添加艺术横线或者艺术竖线
查看>>
酷派发布新品牌ivvi,精品手机市场格局再变
查看>>
新浪微博传播途径研究
查看>>
为什么你的网站不到赚钱?原因都在这里了
查看>>
应用系统中常见报表类型解析
查看>>
Hyper-V 3 虚拟机快照之三 应用和删除快照
查看>>
一例所有文件都打不开的数据恢复过程
查看>>
SCCM2012 SP1客户端请求方式安装64Bit windows7失败
查看>>