导航


HTML

CSS

JavaScript

浏览器 & 网络

版本管理

框架

构建工具

TypeScript

性能优化

算法

UI、组件库

Node

业务技能

针对性攻坚

公共类

基础设施

AI


🔥 盒模型

种类

怪异盒模型触发条件

如果 HTML 文件最顶部 doctype 缺失,则在 ie6、7、8 将会触发怪异模式(quirks);

通过 CSS 来设置盒模型

box-sizing: content-box; /* 标准模型 */
box-sizing: border-box;  /* IE 模型 */
box-sizing: inherit;     /* 从父元素来继承 box-sizing 属性的值 */

🔥 block,inline 和 inline-block 的区别

🔥 display: none、visibility: hidden 和 opacity: 0 的区别

display: none 不占空间,不可点击 (回流 + 重绘)
visibility: hidden 占据空间,不可点击 (重绘)
opacity: 0 占据空间,可以点击 (重建图层,性能较高)

更多:分析比较 opacity: 0、visibility: hidden、display: none 优劣和适用场景

🔥 margin、padding

margin 和 padding 适合场景

何时应当使用 margin

何时应当时用 padding

position

值 是否脱标占有位置 可使用边偏移 描述
static 不脱标,正常模式 不可以 自动(没有)定位(默认定位方式)
relative(自恋) 不脱标,占有位置 可以 相对定位,相对于其原文档流的位置进行定位
absolute(拼爹) 完全脱标,不占位置 可以 绝对定位,相对于其上一个已经定位(不为 static)的父元素进行定位
fixed(浏览器) 完全脱标,不占位置 可以 固定定位,相对于浏览器窗口进行定位(老IE不支持)
inherit 规定从父元素继承 position 属性的值

🔥 外边距合并

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

Untitled

Untitled

Untitled

⚠️ 注意

只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。