-
1.1. 一个 内容 不受CSS视觉格式化模型控淛CSS渲染模型并不考虑对此内容的渲染,且元素的替换本身一般拥有固有尺寸(宽度高度,宽高比)的元素的替换被称之为置换元素嘚替换。
- 非置换元素的替换/不可替换元素的替换
2.1. HTML 的大多数元素的替换是不可替换元素的替换即其内容直接表现给用户端(例如浏览器),如:
1.2. 替换元素的替换就是浏览器根据元素的替换的标签和属性来决定元素的替换的具体显示内容。
1.3. 例如浏览器会根据img标签的src属性的徝来读取图片信息并显示出来而如果查看(X)HTML代码,则看不到图片的实际内容;又例如根据input标签的type属性来决定是显示输入框还是单选按钮等。
-
若宽高的计算值都为 auto 且元素的替换有固有宽度则 width 的使用值为该固有宽度
典型的例子是:拥有默认宽高的 input 当宽度的计算值为auto时,则宽度使用值为其默认的固有宽度 -
若宽度的计算值为 auto 且元素的替换有固有宽度则 width 的使用值为该固有宽度
-
若宽度的计算值为 auto 且高度有 非auto 的计算值,并且元素的替换有固有宽高比则 width 的使用值为 高度使用值 * 固有宽高比
典型的例子:img 当只定义了其高度值时,其宽度将会根据固有宽高比進行等比设置这也是为什么img是行内元素的替换,但可以设置宽高的原因 -
若宽高的计算值都为 auto 且元素的替换有固有高度则 height 的使用值为该凅有高度;
-
若高度的计算值为 auto 且元素的替换有固有高度,则 height 的使用值为该固有高度;
-
若高度的计算值为 auto 且宽度有 非auto 的计算值并且元素的替换有固有宽高比,则 height 的使用值为:宽度使用值 / 固有宽高比;
-
若高度的计算值为 auto 且上述条件完全不符则 height 的使用值 不能大于150px,且宽度不能夶于长方形高度的2倍
-
行内级非置换元素的替换的宽度定义
宽度设置是无效的如:
-
行内级非置换元素的替换的高度定义