Hitsuki9's Blog.

CSS 知识点整理

字数统计: 466阅读时长: 1 min
2020/03/15 Share

《CSS 世界》读书笔记

元素与基本尺寸

  • 每一个元素都有一个标记盒子,一个外部盒子与一个容器盒子。标记盒子用于展示圆点、数字这些项目符号,外部盒子用于决定元素是块级展示还是内联展示,容器盒子用于决定元素的宽高以及内容呈现方式等。

  • 表现为“外部尺寸”的块级元素一旦设置了宽度,其流动性就丢失了。所谓流动性,即是一种 margin/border/padding/content 区域自动分配水平空间的机制。

  • 对于绝对定位的非替换元素,当 leftright 同时存在时,元素的宽度表现为“格式化宽度”,其宽度大小相对于最近的具有定位特性的祖先元素计算。此外,“格式化宽度”也具有流动性,也有“格式化高度”。

  • 容器盒子又被分成了 4 个盒子,分别是 content box、padding box、border box 和 margin box,默认情况下(box-sizing: content-box),width 作用在 content box 上,而当 box-sizing: border-box 时,width 则直接作用到了 border-box 上,且内部具有流动性。

  • 对于 width 属性,就算父元素 width: auto,其百分比值也是支持的,但是对于 height 属性,如果父元素 height: auto,则只要子元素在文档流中,其百分比值就完全被忽略了。对于普通文档流中的元素,百分比高度值要想起作用,其父级必须有一个可以生效的高度值

  • element.offsetWidth 是一个只读属性,返回一个元素的布局宽度,包含 border、padding、scrollbar 和 content。element.offsetHeight 同理。

    该属性将会四舍五入为一个整数,如果想要一个小数值,请使用 element.getBoundingClientRect()

无宽度原则、宽度分离原则

CATALOG
  1. 1. 《CSS 世界》读书笔记
    1. 1.1. 元素与基本尺寸