问题:img标签属于什么元素?
面对这个问题,可能很多小伙伴们会脱口而出:“行内元素”。其实它属于可替换元素。有可替换元素,那肯定就有非可替换元素。
下面我们来了解一下可替换元素和非可替换元素。
什么是可替换元素?
通俗的讲,可替换元素的内容是通过标签类型及其属性值来决定的,img的展示内容就是由其src属性来决定。
MDN上说:
在 CSS 中,可替换元素(replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。
简单来说,它们的内容不受当前文档的样式的影响。CSS 可以影响可替换元素的位置,但不会影响到可替换元素自身的内容。某些可替换元素,例如 <iframe>
元素,可能具有自己的样式表,但它们不会继承父文档的样式。
CSS 能对可替换元素产生的唯一影响在于,部分属性支持控制元素内容在其框中的位置或定位方式。
典型的可替换元素有:
iframe,vidoe,embed,img。
有些元素仅在特定情况下被作为可替换元素处理,例如:
option,audio,canvas,object,applet。
HTML 规范也说了 <input>
元素可替换,因为 "image"
类型的 <input>
元素就像<img>
一样被替换。但是其他形式的控制元素,包括其他类型的 <input>
元素,被明确地列为非可替换元素(non-replaced elements)。该规范用术语小挂件(Widgets)来描述它们默认的限定平台的渲染行为。
非可替换元素就是和可替换元素相反。即“展现效果是受css样式来控制的”,通俗将其内容由其标签包裹内容决定,我们平常使用的标签,如div、p、span、ul、li等都是非可替换元素。
说明一下:
本文开头提到的img属于“行内元素”。从dom布局的角度来看,这种说法也没错,“行内元素”、“块级元素”、“行内块元素”这三种元素是站在dom布局角度来区分的。
标签:行内,img,标签,元素,HTML,替换,CSS From: https://www.cnblogs.com/brucefq/p/16849318.html