什么是可替换元素?

最近在群聊里偶然看到有位仁兄发了张今日头条前端面试题的截图,其中关于 HTML 的只有一题,如下:

请问什么是可替换元素和非可替换元素,它们的差异是什么?并举例说明。

前端面试中 HTML 的题目本来就最少,而且并不难,翻来覆去也就那几样。我们之前已经谈到过最经典的 HTML 语义化 ,今天就借此机会来谈谈可替换元素。

释义

什么是可替换元素?顾名思义,就是会被替换的元素。? (尬笑……

比如一个典型的可替换元素 img

<img src=xxx.jpg>
复制代码

我们并没有在 img 标签中写入任何内容,那它的内容从哪里来的呢?

是浏览器去下载 src 属性给到的图片,并用该图片资源替换掉 img 标签,而且浏览器在下载前并不知道图片的宽高。所以,可替换元素比较特殊,它的宽高是由其加载的内容决定的。(当然 CSS 可以覆盖其样式)

示例

还是用 img 标签举几个例子:

<img src="https://avatars2.githubusercontent.com/u/17703242?s=460&v=4">
复制代码

该图片在页面中展现出来的话,就是图片本身本身的宽高。

img 元素也支持 widthheight 属性:

<img width="80" height="80" src="https://avatars2.githubusercontent.com/u/17703242?s=460&v=4">
复制代码

此时该元素展现出来就是宽高为 80 像素。

如果我们再用 CSS 去覆盖其样式:

img {
  width: 60px;
  height: 60px;
}
复制代码

该元素的展现即为 60 像素。

MDN 的释义

看过上面的例子之后我们再来理解概念性的知识就比较容易了。

可替换元素replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。

简单来说,它们的内容不受当前文档的样式的影响。CSS 可以影响可替换元素的位置,但不会影响到可替换元素自身的内容。

典型的可替换元素有 <iframe> <video> <embed> <img> ,还有一些元素仅在特定情况下被作为可替换元素处理,比如 <input>

了解更多可以戳 这里

(完)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值