跳到主要内容

可替换元素

可替换元素

CSS - replaced element

HTML - Replaced elements

一个常见的疑问是img是行内元素,但是能使用widthheight设置宽高,这种元素被 CSS 规范定义为可替换元素。

根据 CSS 规范的描述,imgvideo等元素通过src属性来替换内部内容,而这些内容通常具有固定的分辨率,宽高,例如一张图片等具有绝对单位的宽高属性(分辨率),所以它们也能使用widthheightmarginborder等属性。

CSS 格式化模型中不考虑替换元素的内容。但是,它们的固有尺寸要用于布局计算中。

在浏览器的渲染引擎渲染页面的时候,img等元素会不会阻塞 DOM 解析呢?DOM 解析的过程虽然遇到img会去加载,但是 DOM 解析不会停止,因为img内部替换内容的宽高尺寸在 DOM 解析过程中并不需要,只有在布局计算的时候才需要。

根据 HTML 文档的介绍,有以下这些可替换元素:

// 行内级的
<img />
<input type="image" /> //只有image类型才是 // 块级的
<iframe></iframe>

<audio></audio>

<video></video>

<canvas></canvas>

embed object