可替换元素和不可替换元素
从元素本身的特点来讲,可以分为可替换元素(replaceable element)和不可替换元素(none-replaceable element)。
可替换元素
可替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。
例如浏览器会根据
<img>
标签的src属性的值来读取图片信息并显示出来,而如果查看(x)html代码,则看不到图片的实际内容;又例如根据<input>
标签的type属性来决定是显示输入框,还是单选按钮等。
可替换元素的属性可以不写,因为自带宽高,css的优先级比<img>
的属性要高,所以可以覆盖<img>
的属性值。
(x)html中的<img>
、<input>
、<textarea>
、<select>
、<object>
都是替换元素。这些元素往往没有实际的内容,即是一个空元素。
MDN官网中对于可替换元素的概述是这样的:
CSS 里,可替换元素(replaced element)的展现不是由CSS来控制的。这些元素是一类 外观渲染独立于CSS的 外部对象。 典型的可替换元素有
<img>
、<object>
、<video>
和 表单元素,如<textarea>
、<input>
。 某些元素只在一些特殊情况下表现为可替换元素,例如<audio>
和<canvas>
。 通过 CSScontent
属性来插入的对象 被称作 匿名可替换元素(anonymous replaced elements)。
CSS在某些情况下会对可替换元素做特殊处理,比如计算外边距和一些auto值。
需要注意的是,一部分(并非全部)可替换元素,本身具有尺寸和基线(baseline),会被像vertical-align
之类的一些 CSS 属性用到。
网友评论