今天讨论一个很有意思的话题: HTML 中的图片真的那么简单吗?
:图像嵌入元素MDN Web Docs 地址:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/img
在一开始时,Web 仅有文本,那真的是很无趣。
幸运的是,没过多久网页上就能嵌入图片和其他有趣的内容了。
虽然还有许多其他类型的多媒体,但是从地位比较低的 元素开始是符合逻辑的,它常常被用来在网页中嵌入一张简单的图片。
怎样将一幅图片放到网页上?
我们可以用 元素来把图片放到网页上。
它是一个空元素(它不需要包含文本内容或闭合标签),最少只需要一个 src (一般读作其全称 *source)*来使其生效。src 属性包含了指向我们想要引入的图片的路径,可以是相对路径或绝对 URL,就像 元素的 href 属性一样。
举个例子来看,如果你有一幅文件名为 dinosaur.jpg 的图片,且它与你的 HTML 页面存放在相同路径下,那么你可以这样嵌入它:
如果这张图片存储在和 HTML 页面同路径的 images 文件夹下(这也是 Google 推荐的做法,利于SEO/索引),那么你可以采用如下形式:
备注: 搜索引擎也读取图像的文件名并把它们计入 SEO。因此你应该给你的图片取一个描述性的文件名:dinosaur.jpg 比 img835.png 要好。
你也可以像下面这样使用绝对路径:
但是这种方式是不被推荐的,这样做只会使浏览器做更多的工作,例如重新通过 DNS 再去寻找 IP 地址。通常我们都会把图片和 HTML 放在同一个服务器上。
上面的代码会展示如下的结果页面:
备注: 像和
这样的元素有时被称之为替换元素,因为这样的元素的内容和尺寸由外部资源(像是一个图片或视频文件)所定义,而不是元素自身。
:图像元素 — 不再推荐使用该特性MDN Web Docs: https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/image
已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作
非标准: 该特性是非标准的,请尽量不要在生产环境中使用它!
HTML
元素是 元素的一个古老且支持不足的前身。不应该使用它。
某些浏览器会尝试将它自动转化为 元素,在也指定了 src 属性时可能会成功。
在实际开发中,我们会发现一个很奇怪的问题:
img和image展示结果一样
因为:某些浏览器会尝试将它自动转化为 元素,在也指定了 src 属性时可能会成功。
下面代码
上面的代码会展示如下的结果页面:
为什么?那html图片展示,到底用img还是image?
img
属于HTML标签,是一个单标签image
属于服务器控件,是个双标签为什么要使用image?
~
这个符号。~
这个符号,通常这个符号都是代表网站根目录,img标签只能使用相对路径引用图片。
如果在uniapp中使用img标签开发手机app项目,微信开发者工具或者浏览器,其中一个工具上图片是有可能显示不出来的。
大部分时候两者没有多大的区别,可以交替使用,但是我们一般使用image。
是行内元素还是块级元素?标签没有独占一行,所以是行内元素。
那么衍生出一个新问题:既然是行内元素为什么能够设置宽高呢?
标签属于替换元素,具有内置的宽高属性,所以可以设置。
从元素本身的特点来讲,可以分为
可替换元素
MDN Web Docs 地址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/Replaced_element
在 CSS 中,可替换元素(replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。
简单来说,它们的内容不受当前文档的样式的影响。
某些可替换元素,例如 元素,可能具有自己的样式表,但它们不会继承父文档的样式。
CSS 能对可替换元素产生的唯一影响在于,部分属性支持控制元素内容在其框中的位置或定位方式。有关详细信息,请参阅本文下面的控制内容框中的对象位置。
典型的可替换元素有:
有些元素 仅在特定情况下被作为可替换元素处理,例如:
不可替换元素
(X)HTML的 大多数元素是不可替换元素,即 其内容直接表现给用户端(例如浏览器)
如:我是标题
、
属于行内替换元素。
height/width/padding/margin
均可用。效果等于块元素。
参考文档