博主信息
富贵人生
博文
87
粉丝
0
评论
0
访问量
3586
积分:0
P豆:174

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

2021年10月07日 21:37:30阅读数:119博客 / 富贵人生

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

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


阅读本文您将收获

<img />标签的基本使用

MDN关于元素的定义

特殊的可替换元素


<img /> 标签的基本使用

浏览器支持

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

标签定义及使用说明

<img> 标签定义 html 页面中的图像

<img> 标签有两个必需的属性:src 和 alt

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


<img />究竟是什么元素

<img /> 是行内元素还是块级元素?

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

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

这个问题就要引申出下面部分了,<img /> 标签属于替换元素,QQ号卖号平台地图具有内置的宽高属性,所以可以设置,具体解释看下面。


元素的定义

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

元素相关的MDN解释

不可替换元素

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

如:<h1>我是标题</h1>

可替换元素

浏览器根据元素的标签和属性,来决定元素的具体显示内容

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

(X)HTML中的 <img>、<input>、<textarea>、<select>、<object> 都是替换元素。这些元素往往没有实际的内容,即是一个空元素

如:<img src=”http://www.fly63.com/article/detial/9868/tigger.jpg”/>、<input type=”submit” name=”Submit” value=”提交”/>

可替换元素的性质同设置了display:inline-block的元素一致


特殊的可替换元素

<img>属于可替换元素

<img>同时具有行内元素,行内块,和块级元素的特性

替换元素一般有内在尺寸,所以具有 width 和 height,可以设定

例如你不指定 <img> 的 width 和 height 时,就按其内在尺寸显示,也就是图片被保存的时候的宽度和高度

对于表单元素,浏览器也有默认的样式,包括宽度和高度

<img>、<input>属于行内替换元素。height/width/padding/margin均可用。效果等于块元素


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • span设置text-indent不起作用,因为text-indent只能给设置,而span;解决方法:使用“span{display:inline-block;}”样式将span
    div和span的区别:1、div,每个div都会从新开始显示,占据一;2、div可以添加其他的;3、span,会在一显示;4、span只能添加或文本
    在html中,分别:用于记网页中图像的img;用于搜集用户信息的input;定义表格中准单格的td;可创建单选或多选菜单的select;定义多的文本输入控件的textarea;
    css首缩进没有效果的原因及解决办法:1、,其解决方法通过“display:inline-block;”使拥有部分的属性;2、效果被优先更高的样式覆盖,其解决方法就修改优先即可
    在css中,可以使用float属性,设置“float:left”或“float:right”样式来进浮动。一旦一个浮动了,将能够并排,并且能够设置宽高,无论它原来

    2021-02-24

    468

    html中的div一个,浏览器通常会在div前后放置一个换符。div可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使用任何格式与其关联。
    实现方法:1、使用display属性将li转成,只需要给li设置“display:inline|inline-block”样式即可;2、使用float属性进浮动,只需要给设置“float
    CSS能够真正做网页表现与容分离的一种样式设计语言,主要用来设计网页的样式,美化网页。