CSS 盒子模型

作者: JuanitaLee | 来源:发表于2019-03-31 14:18 被阅读0次

CSS盒模型

当你的浏览器展现一个元素时,这个元素会占据一定的空间。

CSS 框模型 (Box Model) 规定了元素框处理元素内容(content)、内边距(padding)、边框(border) 和 外边距(margin) 的方式。

CSS盒模型分为标准盒模型和IE盒模型两种。

标准模型


从上图可以看出,标准模型中width和height只包含content。

IE模型


从上图可以看出,IE模型中width和height是包括border、padding、content。

如何设置盒模型

通过CSS中box-sizing这个属性

  • content-box:默认值,标准盒模型
  • border-box: IE盒模型
  • inherit: 从父元素继承

如何获取盒模型对应的宽和高

通过JS获取盒模型对应的宽和高,有以下几种方法:
为了方便书写,以下用dom来表示获取的HTML的节点。

  • dom.style.width/height

这种方式只能取到dom元素内联样式所设置的宽高,也就是说如果该节点的样式是在style标签中或外联的CSS文件中设置的话,通过这种方法是获取不到dom的宽高的。

  • dom.currentStyle.width/height

这种方式获取的是页面渲染完成后的结果,就是说不管是哪种方式设置的样式,都能获取到。但是只有IE浏览器支持。

  • window.getComputedStyle(dom).width/height

这种方式的原理和2是一样的,这个可以兼容更多的浏览器,通用性好一些。

  • dom.getBoundingClientRect().width/height

这种方式是根据元素在视窗中的绝对位置来获取宽高的

  • dom.offsetWidth/offsetHeight

最常用的,也是兼容最好的。

边距重叠

普通文档流中框的垂直外边距会发生外边距合并,合并后的外边距高度是外边距中较高的那个边距值。具体可以参考css 外边距合并

解决边距重叠

通过使用BFC可以解决边距重叠问题
BFC问题具体看另一篇文章BFC详解

相关文章

  • CSS 盒子模型

    CSS盒子模型 盒子模型边框 CSS盒子模型的宽度和高度 CSS模型的填充 CSS盒子模型的边界 填充和边界的区别

  • 2019-05-05

    基于CSS盒子模型及其CSS定位详解 CSS盒子模型 效果显示 盒子模型的简单应用 效果显示: CSS定位 效果显示

  • css基础问题

    介绍css的盒子模型 css的盒子模型有两种:IE盒子模型,W3C盒子模型盒子模型:内容(content),内边距...

  • css 盒子模型

    1.css 盒子模型(css box model) 所有的html元素本质上都是盒子模型。在css 中,盒子模型常...

  • html页面绘制方面

    1.css盒子模型 CSS css盒子模型 又称框模型 (Box Model) ,包含了元素内容(content...

  • CSS:盒子模型(box)

    盒子模型(CSS 重点) css 学习三大重点: css 盒子模型 、 浮动 、 定位 主题思路: 目标...

  • 你需掌握的CSS知识都在这了(长文建议收藏,文末有福利)

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包...

  • 需要掌握的CSS

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包...

  • CSS的基本使用

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包...

  • 前端一些面试题

    HTML 和 CSS 面试题 盒子模型 CSS 中盒子模型包括 IE 盒子模型和标准的 W3C 盒子模型。W3C ...

网友评论

    本文标题:CSS 盒子模型

    本文链接:https://www.haomeiwen.com/subject/zvplbqtx.html