img标签

img src属性

<img src="/i/eg_tulip.jpg" />

src的值:url形式(相对或者绝对路径),或者base64编码的图片数据(Data URI)

src实现跨域请求,但不能访问服务器返回的响应内容,只能单向的发送get请求(在html元素中拥有src属性的元素是可以跨域访问资源,如:<script>,<img>,<iframe>)

 

图片显示白边框探

场景:无src时或者src为空时
 
消除白边方案测试:
设置border:0——无效
将它的宽高变为0——有效
隐藏元素——有效
用透明的图片——有效
 

img alt属性

图片无法显示时展示的描述文本

<img src="/i/eg_tulip.jpg"  alt="上海鲜花港 - 郁金香" />

在ie浏览器上当用户把鼠标移到图像上方,显示alt描述文本(描述功能现在使用title属性)在firefox或者chrome,alt属性就会不管用

用户无法查看图像的可能场景:

  • 网速太慢
  • src 属性中的错误
  • 浏览器禁用图像
  • 用户使用的是屏幕阅读器

alt属性里的值还会被搜索引擎抓取到,比如你现在在百度搜索柯基,那么我们网页当中的这张图片就可能会被百度图片给抓取到,增加曝光几率

推荐的alt使用原则

  • 如果图像包含信息 - 使用 alt 描述图像
  • 如果图像在 a 元素中 - 使用 alt 描述目标链接
  • 如果图像仅供装饰 - 使用 alt=""

img title属性

title是对图片的说明和额外补充,如果需要在鼠标经过图片时出现文字提示应该用属性title。title属性的优先级高于alt text。

img标签和background-image的使用

浏览器加载文档,碰到样式会跳过去继续加载HTML,HTML加载完成后,才会继续加载css样式表。

img标签是src赋值的时候,就会同时去拉取图片,所以重要的想先显示的图片用img标签加载更快。

从用户体验角度来讲的。如果你在body 中通过img标签引入一张图片,那么用户在浏览网页的时候,是可以直接在图片上右键,然后另存为,把图片保存下来,但是background是不可以的;

使用场景

如下场景使用img标签比较合适:

1、如果图像是等内容的一部分或图表或人(真正的人,而不是股票图人),使用Img标签加上alt属性。

2、如果你想打印页面并且你想要的图像包括默认情况下使用IMG。

3、使用IMG(alt文本)图像有一个重要的语义时,比如一个警告图标。这将确保图像的意义可以很好的和user-agents沟通,包括屏幕阅读器。

4、如果你依赖于浏览器缩放图像比例并且可以呈现不错的效果时使用IMG。

5、如果配合 z - index 伸展背景图像来填补它的整个窗口时使用IMG。

6、使用img代替有背景图像可以显著提高性能的动画背景

7、IMG会首先加载因为src在html文件本身中而在有背景图像源是样式表中引入的图像,加载样式表加载后,延迟加载的网页。

如下场景使用background-image属性比较合适:

1、如果图像不是内容的一部分时使用backgrond-image。

2、当图像代替文本使用时使用backgrond-image。

3、如果你想打印页面并且你不想要的图像包括默认情况下使用backgrond-image。

4、如果需要缩短下载时间通过CSS sprites 时使用backgrond-image。

5、如果你只需要展示图像的一部分通过CSS sprites,时使用backgrond-image。

6、如果你需要为不同的屏幕分辨率展示不同的图像使用 media查询时使用backgrond-image。

图片挤压或者拉伸问题探究

问题来源

比如:原图:1000*1200px

给img设置宽高为如下场景:(1)(2)根据宽度等比缩放。(3)(4)会被拉伸

(1)width="50%" height="100%",以width的大小显示图片显示尺寸。即:500*600

(2)width用px,height用%,还是根据width保持图片原本比例显示大小 

(3)width="50%" height="200px",出现拉伸,显示宽度为原图50%,高度只有200px 

(4)width="10px" height="200px",按照px值代表的尺寸拉伸原图(原图内容会全部显示)。

推文:

1、一行css解决图片统一大小后的拉伸问题(被冷漠的object-fit)

实现需求: 要求统一原图大小不一行的图片为一个大小

2、如何在显示图片缩略图时不挤压拉伸图片

原文地址:https://www.cnblogs.com/yaoyao-sun/p/10365202.html