HTML中的图片标签,真的如你认为的那么简单吗?

news2025/1/16 5:35:47

今天讨论一个很有意思的话题: HTML 中的图片真的那么简单吗?

HTML 中的图片

<img>:图像嵌入元素

MDN Web Docs 地址:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/img

在一开始时,Web 仅有文本,那真的是很无趣。

幸运的是,没过多久网页上就能嵌入图片和其他有趣的内容了。

虽然还有许多其他类型的多媒体,但是从地位比较低的 <img> 元素开始是符合逻辑的,它常常被用来在网页中嵌入一张简单的图片。

怎样将一幅图片放到网页上?

我们可以用<img> 元素来把图片放到网页上。

它是一个空元素(它不需要包含文本内容或闭合标签),最少只需要一个 src (一般读作其全称 *source)*来使其生效。src 属性包含了指向我们想要引入的图片的路径,可以是相对路径或绝对 URL,就像 <a> 元素的 href 属性一样。

举个例子来看,如果你有一幅文件名为 dinosaur.jpg 的图片,且它与你的 HTML 页面存放在相同路径下,那么你可以这样嵌入它:

<img src="dinosaur.jpg">

如果这张图片存储在和 HTML 页面同路径的 images 文件夹下(这也是 Google 推荐的做法,利于SEO/索引),那么你可以采用如下形式:

<img src="images/dinosaur.jpg">

备注: 搜索引擎也读取图像的文件名并把它们计入 SEO。因此你应该给你的图片取一个描述性的文件名:dinosaur.jpg 比 img835.png 要好。

你也可以像下面这样使用绝对路径:

<img src="https://www.example.com/images/dinosaur.jpg">

但是这种方式是不被推荐的,这样做只会使浏览器做更多的工作,例如重新通过 DNS 再去寻找 IP 地址。通常我们都会把图片和 HTML 放在同一个服务器上。

上面的代码会展示如下的结果页面:

备注: 像<img><video>这样的元素有时被称之为替换元素,因为这样的元素的内容和尺寸由外部资源(像是一个图片或视频文件)所定义,而不是元素自身。

<image>:图像元素 — 不再推荐使用该特性

MDN Web Docs: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/image

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作
非标准: 该特性是非标准的,请尽量不要在生产环境中使用它!

HTML <image> 元素是 <img> 元素的一个古老且支持不足的前身。不应该使用它。

某些浏览器会尝试将它自动转化为 <img> 元素,在也指定了 src 属性时可能会成功。

实际应用中,到底是img还是image?

在实际开发中,我们会发现一个很奇怪的问题:

img和image展示结果一样

因为:某些浏览器会尝试将它自动转化为 <img> 元素,在也指定了 src 属性时可能会成功。

下面代码

<img src="images/dinosaur.jpg">
<image src="images/dinosaur.jpg">

上面的代码会展示如下的结果页面:

为什么?那html图片展示,到底用img还是image?

  • img属于HTML标签,是一个单标签
  • image属于服务器控件,是个双标签

为什么要使用image?

  • image控件能解决一个棘手的问题:img标签不能识别这个符号

这个符号,通常这个符号都是代表网站根目录,img标签只能使用相对路径引用图片。

  • uniapp小程序上边的开发一般用image,不要使用img

如果在uniapp中使用img标签开发手机app项目,微信开发者工具或者浏览器,其中一个工具上图片是有可能显示不出来的。

总结

大部分时候两者没有多大的区别,可以交替使用,但是我们一般使用image

扩展 – img是什么元素,属于块级元素还是行内元素

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

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

那么衍生出一个新问题:既然是行内元素为什么能够设置宽高呢?

<img /> 标签属于替换元素,具有内置的宽高属性,所以可以设置。

元素的定义

从元素本身的特点来讲,可以分为

  • 不可替换元素
  • 替换元素

可替换元素

MDN Web Docs 地址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/Replaced_element

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

简单来说,它们的内容不受当前文档的样式的影响

  • CSS 可以影响可替换元素的位置,但不会影响到可替换元素自身的内容。

某些可替换元素,例如 <iframe> 元素,可能具有自己的样式表,但它们不会继承父文档的样式。

CSS 能对可替换元素产生的唯一影响在于,部分属性支持控制元素内容在其框中的位置或定位方式。有关详细信息,请参阅本文下面的控制内容框中的对象位置。

典型的可替换元素有:

<iframe>
<video>
<embed>
<img>

有些元素 仅在特定情况下被作为可替换元素处理,例如:

<option>
<audio>
<canvas>
<object>
<applet> 

不可替换元素

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

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

总结

  • 属于可替换元素
  • 同时具有行内元素,行内块,和块级元素的特性

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

参考文档

  • https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Multimedia_and_embedding/Images_in_HTML
  • https://blog.csdn.net/weixin_44865458/article/details/114915813
  • https://blog.csdn.net/weixin_70426591/article/details/127396328

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/423219.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

摄影知识整理

目录 焦距 焦距分类 对焦 相机的MF与AF 自动对焦操作 自动对焦方式 镜头防抖 防抖模式 景深 景深的作用 影响景深的因素 景深预览 摄影三大元素 光圈 光圈的作用 光圈与景深的关系 感光度&#xff08;ISO) 注意 感光度的作用 快门 B门与T门 快门速度 闪…

软件工程环境(Maven)—javaEE

文章目录1.如何使用Maven1.1创建一个Maven项目&#xff08;项目使用Maven来进行构建&#xff09;1.2设置项目的信息1.3配置Maven项目&#xff08;在项目路径下pom.xml&#xff0c;Maven配置文件&#xff09;1.4验证配置成功2.Maven的使用2.1观察开发项目结构2.2xml文件2.3Maven…

既然Linux是基于UNIX的操作系统,那为什么UNIX收费而Linux免费?

首先说是不是?再说为什么? 一. Linux是基于UNIX吗? Linux是类UNIX系统&#xff0c;那什么是类UNIX系统呢&#xff1f; 类UNIX系统是指继承UNIX的设计风格演变出来的系统。 类UNIX系统就是长得像UNIX、但实际不是UNIX的系统&#xff1b; 其实本质上就是借鉴了UNIX系统的界…

激光和相机的标定---手动标定的方法

一、手动标定 代码工程&#xff1a;GitHub - Livox-SDK/livox_camera_lidar_calibration: Calibrate the extrinsic parameters between Livox LiDAR and camera 这是Livox提供的手动校准Livox雷达和相机之间外参的方法&#xff0c;并在Mid-40&#xff0c;Horizon和Tele-15上进…

C51 - SPI读写ADC

TSC20461> 项目概述2> 硬件设计3> TSC20463.1> TSC2046功能3.2> TSC2046控制命令3.3> 控制命令总结3.4> SPI协议3.5> 数据转换4> 软件编程4.1> 实现功能4.2> 编程思路4.3> SPI驱动4.4> TSC2046驱动5> 联调测试5.1> VBAT的1/4分压…

【论文简述】DELS-MVS: Deep Epipolar Line Search for Multi-View Stereo(WACV 2023)

一、论文简述 1. 第一作者&#xff1a;Mattia Rossi 2. 发表年份&#xff1a;2023 3. 发表期刊&#xff1a;WACV 4. 关键词&#xff1a;MVS、3D重建、极线搜素 5. 探索动机&#xff1a;目前的方法无论是深度值还是逆深度值&#xff0c;都需要提前确定深度值范围&#xff0…

java反序列化 URLDNS链分析

前言 终于可算是来到java反序列化&#xff0c;在菠萝师傅的一番提醒&#xff0c;我认识到自己不能继续在简单的游荡了&#xff0c;要来到难的地方了。 也庆祝自己终于拥有了勇气。 分析 基础 我相对喜欢先代码在讲原理&#xff0c;这里不怎么了解序列化可以去复习一下javase 可…

黑盒测试用例设计

目录 前言&#xff1a; 一、黑盒测试 二、实验目的 三、实验内容 四、实验步骤 五、实验过程 题目一 1、等价类划分表 2、设计测试用例 3、缺陷 4、代码实现 5、测试结果 题目二 设计测试用例 题目一示例代码&#xff08;java编写&#xff09; 总结 前言&#x…

苹果pencil和平替笔有哪些区别?性价比平替电容笔排行榜

而对于那些把ipad当做学习工具的学生党而言&#xff0c;电容笔就成了日常的必备品。但因为苹果Pencil的售价太贵了&#xff0c;学生们都买不起。因此&#xff0c;最好的选择还是平替电容笔。作为一个ipad的忠实用户&#xff0c;同时也是一个数码产品的热衷者&#xff0c;这两年…

1797F Li Hua and Path(Min-rt树,Max-rt树)

题目链接 题意 &#xff1a; 给你一个大小为nnn的树&#xff0c;我们想求解一个问题&#xff0c;问题的定义是找有多少条路径满足恰好满足路径的端点是路径的最小值ororor最大值条件之一&#xff0c;【注】不能同时满足路径的两个端点是最小值又是最大值 现在增加mmm个操作&am…

【Unity】基于AVFoundation开发MacOS摄像头(二)

【Unity】基于AVFoundation开发MacOS摄像头&#xff08;一&#xff09;_GrimRaider的博客-CSDN博客实现一个Camera设备驱动&#xff0c;代替unity自带WebCamTexturehttps://blog.csdn.net/GrimRaider/article/details/130127229 目标1&#xff1a;实现bridge&#xff0c;创建一…

【Java数据结构——环形链表】判断链表成环与寻找链表成环的入口节点(经典)

判断链表是否成环https://leetcode.cn/problems/linked-list-cycle/description/ 解题核心思路&#xff1a; 定义快慢指针初始引用指向链表的头节点&#xff0c;快指针每向后走两步&#xff0c;慢指针走一步。如果链表中存在环&#xff0c;则快慢指针一定会在某次移动后相遇。 …

一文看懂“低代码、零代码”是什么?有什么区别?

低代码和零代码近几年热度一直居高不下&#xff0c;乍一看&#xff0c;很容易混淆低代码和零代码开发平台—— 因为它们都是传统开发的替代方案&#xff0c;旨在通过类似于可视化编程的功能加速软件开发过程。 但二者根本不是一回事。从开发人员经验 、目标角色到使用场景&…

C++ 学习4

C设计原则 高内聚低耦合 内聚就是一个模块内各个元素彼此结合的紧密程度&#xff0c;高内聚就是一个模块内各个元素彼此结合的紧密程度高。 所谓高内聚是指一个软件模块是由相关性很强的代码组成&#xff0c;只负责一项任务&#xff0c;也就是常说的单一责任原则。 耦合&am…

计算机网络 - TCP的效率与特性

前言 本篇是介绍部分TCP的特性&#xff0c;了解TCP提高传输速率的机制&#xff1b;如有错误&#xff0c;请在评论区指正&#xff0c;让我们一起交流&#xff0c;共同进步&#xff01; 文章目录前言1. 滑动窗口2. 流量控制3.拥塞控制4.延时应答5. 捎带应答6. 面向字节流7. 异常…

spring bean

图灵课堂学习笔记 1. BeanFactory与ApplicationContext的关系 p56 ApplicationContext在BeanFactory基础上对功能进行了扩展&#xff0c;例如&#xff1a;监听功能、国际化功能等。BeanFactory的API更偏向底层&#xff0c;ApplicationContext的API大多数是对这些底层API的封…

python带你制作可以随机的自答题程序

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 目录前言环境使用:模块使用:程序实现思路: <模板> 获取题库一. 获取题库 --> 问题答案二. 进行自动答题操作代码展示题库采集自动答题尾语 &#x1f49d;环境使用: 解释器版本 >>> python 3.8 代码编辑器…

数学基础|线性代数回顾

因为学机器学习的时候发现自己线性代数忘光光了&#xff08;悲&#x1f613;&#xff0c;本篇捞一捞当年学线性代数看哔哩哔哩宋浩老师补充记的潦草笔记。 目录 &#x1f4da;线性代数知识点 &#x1f407;向量 &#x1f955;向量的线性组合 &#x1f955;线性相关无关的性…

JVM 工作原理和即时编译(JIT)

目录 1、什么是虚拟机&#xff1f; 2、JVM 虚拟机简介 3、JVM 的工作原理 4、什么是即时编译&#xff08;JIT&#xff09;&#xff1f; 5、解释型语言和编译型语言的区别 6、为什么说 Java 是一种半编译半解释的语言&#xff1f; 1、什么是虚拟机&#xff1f; 虚拟机是一…

直播美颜技术的演进及其应用:直播美颜SDK详解

直播美颜技术的应用&#xff0c;为直播开辟了新的业态&#xff0c;从最初简单的美颜滤镜&#xff0c;到现在的直播美颜SDK&#xff0c;其技术演进历程也是一步步走来。 一、直播美颜技术的演进 1、简单美颜滤镜 最初的直播美颜技术&#xff0c;就是通过简单的美颜滤镜来实现…