img标签到底是行内元素还是块级元素

img标签到底是行内元素还是块级元素

面试官问你是什么元素时你怎么回答

写这篇文章源自我之前的一次面试,题目便是问img标签属于块级元素还是行内元素,当时想都没想就说了是行内(inline)元素,面试官追问为什么能够设置 标签的宽和高,当时脑子突然一懵,发现这是自己技术上的一个空白,所以有了这篇文章。

阅读本文您将收获

标签的基本使用MDN关于元素的定义特殊的可替换元素

标签的基本使用

浏览器支持

所有主流浏览器都支持 标签

标签定义及使用说明

标签定义 HTML 页面中的图像 标签有两个必需的属性:src 和 alt强烈推荐在开发中每个图像中都使用 alt 属性。这样即使图像无法显示,用户还是可以看到关于丢失了什么东西的一些信息。而且对于残疾人来说,alt 属性通常是他们了解图像内容的唯一方式

究竟是什么元素

是行内元素还是块级元素?

标签没有独占一行,所以是行内元素,这没啥问题

既然是行内元素为什么能够设置宽高呢?

这个问题就要引申出下面部分了, 标签属于替换元素,具有内置的宽高属性,所以可以设置,具体解释看下面。

元素的定义

从元素本身的特点来讲,可以分为不可替换元素和替换元素

元素相关的MDN解释

不可替换元素

(X)HTML 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器)如:

我是标题

可替换元素

浏览器根据元素的标签和属性,来决定元素的具体显示内容例如浏览器会根据 标签的src属性的值来读取图片信息并显示出来,而如果查看(X)HTML代码,则看不到图片的实际内容;又例如根据 标签的type属性来决定是显示输入框,还是单选按钮等(X)HTML中的