HTML页面插入图片,使用background还是img标签
很多新手在刚开始学习HTML标签的时候,老师一定会教你
<img src="xxx.png"/>
这种引入图片格式,第二天学习css的时候,老师又会教你给div等元素添加背景图片,
div {
background-image: url(xxx.png);
}
那么这两种方式究竟孰优孰劣,分别应该在什么情况下使用呢?今天我在这里就给大家详细讲解一下:
关于img标签,我们要知道,它除了src路径以外,还有两个属性,一个是alt,一个是title
<img src="xxx.png" alt="" title=""/>
首先我们讲一下title,它的作用是什么呢?我们来看一下,当我们在body中写入以下代码的时候,
<img src="img/柯基.jpg" alt="" title="Hello,World!"/>
打开浏览器,会显示对应的那张图片,title里面写的"Hello,World!"是不显示的,只有当我们的鼠标放到图片上暂留的时候,鼠标上才会出现提示性文字如下图:


搜索引擎真的会分辨你网页当中的图片是不是柯基犬吗?人工智能有这么强大?可以智能识图?并不是的,搜索引擎是通过识别你网页当中的alt属性,来辨别本图片是不是它所要抓取的。我们的网站肯定是希望搜索引擎抓取到我们,这样我们的浏览量就会加大,我们的流量就会更多,我们就能赚取更多的广告费,我们就会更有银子。
其次,还有一个原因,img加载更快对于我们一篇HTML文档来说,浏览器对文档的加载是从上往下的,我们的css样式是在style标签内,当我们的浏览器加载到style标签的时候,它就会停下,跳过去,继续加载HTML,HTML加载完成后,才会继续加载css样式表,否则的话,假如我们在style标签内写了.div1{width:100px;}这时候浏览器并没有加载到body,因为我们的style标签是在head内,是在body上面的,这时候浏览器就无法找到div1并给其设置宽度。所以,如果论加载速度,还是body中的img标签加载更快。
最后呢,还有一个原因,是从用户体验角度来讲的。如果你在body 中通过img标签引入一张图片,那么用户在浏览网页的时候,是可以直接在图片上右键,然后另存为,把图片保存下来,但是background是不可以的;
还有一种情况比较少见:针对盲人用户,盲人用户眼睛无法直接看到网页,但是又有上网的需求,这时候,患者就可以借助一些读屏软件来浏览我们的网页,这时候问题来了,读屏软件可以阅读文字,可是它怎样阅读我们的图片给患者听呢?这是一个问题,所以这时候我们之前提到的alt属性的作用就来了,读屏软件可以直接阅读图片的alt属性值,从而使盲人用户看不到图片,也可以知道这里显示的是什么。
HTML页面插入图片,使用background还是img标签的更多相关文章
- JSP 页面中插入图片
第一步 在 JSP 页面中插入图片 EL 表达式 ${pageContext.request.contextPath } 的值为当前的项目名称 <html> ... <body> ...
- 富文本编辑器UEditor自定义工具栏(二、插入图片、音频、视频个性化功能按钮和弹层及自定义分页符)
导读:本篇将简单探讨插入图片.音频.视频的功能按钮实现方式 传送门:富文本编辑器UEditor自定义工具栏(一.基础配置与字体.背景色.行间距.超链接实现) 一.效果图 1.UEditor自定义工具栏 ...
- C#操作word的一些基本方法(word打印,插入文件,插入图片,定位页眉页脚,去掉横线)
Microsoft.Office.Interop.Word.Application wordApp = new ApplicationClass() word对象 2. Microsoft.Offic ...
- js获取页面中图片的总数
查看效果:http://keleyi.com/keleyi/phtml/image/9.htm 下面是完整代码: <html><body><div id="ke ...
- 【使用Itext处理PDF文档(新建PDF文件、修改PDF文件、PDF中插入图片、将PDF文件转换为图片)】
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
- 关于利用input的file属性在页面添加图片的问题
在页面添加图片涉及到兼容的问题怎么解决兼容问题呢?请看下面分析: 在IE浏览器上面我们能直接通过获取其input的value值来获取其图片的路径. 在火狐和谷歌需要用createObjectURL(( ...
- html2canvas页面截图图片不显示
前两天在一个群里,有人问使用html2canvas屏幕截图的时候为什么页面的图片不显示只显示了文字,我没有做过屏幕截图的需求,所以不是很清楚,今天稍稍测试了一下. 在github上将html2canv ...
- 在Vue项目使用quill-editor带样式编辑器(更改插入图片和视频)
vue-quill-editor默认插入图片是直接将图片转为base64再放入内容中,如果图片比较大的话,富文本的内容就会很大. 插入视频是直接弹框输入URL地址,某些需求下我们需要让用户去本地选择自 ...
- 插入图片新方式:data:image
我们在使用<img>标签和给元素添加背景图片时,不一定要使用外部的图片地址,也可以直接把图片数据定义在页面上.对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入. 如何使用 ...
随机推荐
- JavaScript 实用技巧
1数组中删除重复 let arr = [1,2,4,3,6,4] Array.from(new Set(arr)) // es6中 .from()[1,2,4,3,6] [...new Set(arr ...
- 【原创】怎样才能写出优雅的 Java 代码?这篇文章告诉你答案!
本文已经收录自 JavaGuide (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. 本文比较简短,基本就是推荐一些对于写好代码非常有用的文章或者 ...
- SpringBoot整合MybatisPlus3.X之SQL注入器(九)
pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ...
- SpringBoot与热部署整合(五)
一 Idea pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifa ...
- ManyToMany 字段的使用
创建一个经典的多对多关系:一本书可以有多个作者,一个作者可以有多本书(如下,csdn复制的图片) 当进行数据迁移时,会生成三张表,了解就好 1,查询数据的操作 : 1.一本书的所有作者 b = Boo ...
- (24)ASP.NET Core EF查询(查询的工作原理、跟踪与非跟踪查询)
1.查询生命周期 在进入正题时候,我们先来了解EF Core查询的生命周期. 1.1LINQ查询会由Entity Framework Core处理并生成给数据库提供程序可处理的表示形式(说白了就是生成 ...
- Mysql用户管理及权限分配
早上到公司,在服务器上Mysql的数据库里新建了个database,然后本地的系统里用原来连接Mysql账号admin连这个数据库.结果报错了,大概是这样子的: Access denied for u ...
- Codeforces 1178G. The Awesomest Vertex
传送门 首先通过dfs序把子树操作转化为区间操作,求最大值可以用斜率优化. 然后分个块,对每个块维护个凸包.修改时中间的打个标记,边角暴力重构:询问时中间的用斜率优化的方法求,边角的暴力求. 由于此题 ...
- 随(rand):原根,循环矩阵,dp
20分特判,一个puts("1")一个快速幂,不讲. 50%算法: 上次就讲了,可是应该还是有像 xuefen某 或 Dybal某 一样没听的. 用a×inv(b)%mod来表示分 ...
- NOIP模拟 18
这次时间分配不合理,沉迷大模拟无法自拔 虽然A了但是根本就没给T3留时间555 T3如果有时间看看数据范围应该可以想到QJ掉20分的555 T1 引子 打这题的时候感觉自己在做图像处理.. 然后调了各 ...