1.一、 一个 内容 不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素自己通常拥有固有尺寸(宽度,高度,宽高比)的元素,被称之为置换元素。canvas
1.二、 替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。浏览器
1.三、 例如浏览器会根据img标签的src属性的值来读取图片信息并显示出来,而若是查看(X)HTML代码,则看不到图片的实际内容;又例如根据input标签的type属性来决定是显示输入框,仍是单选按钮等。spa
1.四、 HTML中的img、input、textarea、select、object都是替换元素。这些元素每每没有实际的内容,便是一个空元素。code
2.一、 HTML 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器),如:图片
<!-- span是非置换元素 所以 hello word 被展现出来 而不是被替换成其余内容 --> <span>hello word</span>
典型的例子是:拥有默认宽高的 input 当宽度的计算值为auto时,则宽度使用值为其默认的固有宽度input
例子同上iframe
典型的例子:img 当只定义了其高度值时,其宽度将会根据固有宽高比进行等比设置,这也是为何img是行内元素,但能够设置宽高的缘由object
典型的例子:好比iframe, canvas渲染
宽度设置是无效的,如:select
<!-- 设置宽度无效 ,span的宽度默认为其内容的宽度 --> <span>hello word</span>
高度设置无效,如:
<!-- 设置高度无效 ,span的高度默认为其内容的高度 --> <span>hello word</span>