阅读CSS2规范的height 属性时遇到以下问题:
适用于:除不可替换的嵌入式元素,表列和列组以外的所有元素
我了解替换后的element(<img>)或内联element(<button>,<a>)是什么,但是很难找到未替换的内联元素的示例。
<img>
<button>
<a>
表达式“不可替换的内联元素”没有自己的定义:它仅指代既是不可替换的元素又是内联元素的任何元素。如<a>。HTML中的大多数元素都是不可替换的。不可替换元素只是一个不是替换元素的元素。
但是,在CSS规范中,“替换元素”只是概念的一般特征,而没有任何此类元素的明确列表。这是可以理解的,因为HTML的发展与CSS无关。
随着时间的流逝,这个概念有所改变。的CSS 1规格说:“在HTML中,IMG,INPUT,TEXTAREA,SELECT,和对象元素可以被替换元件的例子。” 在较新的规范中,不再包含表单字段。这反映在HTML5草案中,其中“ 呈现”部分在“不可替换的元素”下明确列出了表单控件。据此,唯一被替换的元素是那些将外部内容(例如图像,视频,applet或HTML5画布)嵌入到HTML文档中的menu元素–除了也提到了经过修改的元素(预期将在回应浏览器控件的方式,因此它也可以嵌入外部内容)。
menu
此更改反映了浏览器的开发。早期的浏览器使用系统例程来实现表单域,并且不受CSS的限制,但这种方法仍然存在,但如今表单域大多可以使用CSS格式化,因此它们已有效地从替换形式转换为非替换的元素。
对于大多数实际目的,最好将“已替换”理解为“嵌入”。因此,“不可替换元素”只是这样渲染的元素,而不是导致一些外部内容出现在其位置上。