img图片加载出错处理[通俗易懂]

img图片加载出错处理[通俗易懂]为了美观当网页图片不存在时不显示叉叉图片当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了”图片XX”的提示信息,也起不了多大作用。其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:1、让这个图片元素隐藏:imgsrc=”图片的url地址”

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

为了美观当网页图片不存在时不显示叉叉图片

当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验。即使使用alt属性给出了”图片XX”的提示信息,也起不了多大作用。
其实,可以这样处理:当图片不存在的时候,会触发onerror事件,我们可以在该事件中做一下补救的工作,比如:

1、让这个图片元素隐藏:

<img src="图片的url地址" alt="图片XX" onerror="this.style.display='none'"/>

2、用默认的图片替换:

<img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址'"/>

注意:如果使用不当,在IE内核的浏览器下会造成死循环。比如:当【默认图片的url地址】也加载不成功(比如网速比较慢的时候)或不存在的话,就会反复的加载,最后造成堆栈溢出错误。

因此, 需要用下面两种方法解决:

a、更改 onerror 代码为其它处理方式或者确保 onerror 中的默认图片足够小,并且存在。

b、控制onerror事件只触发一次,需要增加这句话:this.οnerrοr=null; 增加后如下:

<img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址';this.οnerrοr=null"/>

经测试,上面的方法在IE各个版本及谷歌、火狐浏览器中都支持

img图片属性

vertical-align用来设置垂直对齐方式,所有垂直对齐的元素都会影响行高

  值: baseline | sub | super | top | text-top | middle | bottom | text-bottom | <length> | <percentage> | inherit

  初始值: baseline

  应用于: 行内元素、替换元素、表单元格

  继承性: 无

  百分数: 相对于元素的行高line-height

  [注意]IE7-浏览器中vertical-align的百分比值不支持小数行高,且取baseline、middle、text-bottom等值时与标准浏览器在展示效果不一样,常用的解决办法是将行内元素设置display:inline-block 

复制代码
vertical-align:baseline(元素的基线与父元素的基线对齐)
vertical-align:sub(降低元素的基线到父元素合适的下标位置)
vertical-align:super(升高元素的基线到父元素合适的上标位置)
vertical-align:bottom(把对齐的子元素的底端与行框底端对齐)
vertical-align:text-bottom(把元素的底端与父元素内容区域的底端对齐)
vertical-align:top(把对齐的子元素的顶端与行框顶端对齐)
vertical-align:text-top(把元素的顶端与父元素内容区域的顶端对齐)
vertical-align:middle(元素的中垂点与父元素的基线加1/2父元素中字母X的高度对齐)
vertical-align:(+-n)px(元素相对于基线上下偏移npx)
vertical-align:x%(相对于元素的line-height值)
vertical-align:inherit(从父元素继承vertical-align属性的值)
复制代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158916.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月26日 下午3:36
下一篇 2022年7月26日 下午3:36


相关推荐

  • 第八章《视图》

    第八章《视图》

    2021年5月29日
    123
  • 报表开发流程

    报表开发流程报表开发是数据分析师的常见工作之一 报表是业务监控必备工具之一 用数据说话 另一方面 报表监控的指标通常都是业务相关的重要指标 做报表的过程也是深入了解业务的过程 把数据分析分为 描述 解释 预测 控制 4 个层级 那么报表开发就对应 描述 这一层级 也就是要做到准确 及时地监控业务数据 描述 解释是最常见的工作内容本文梳理报表开发的主要流程及注意事项 在不同的实际操作场景下涉及到

    2026年3月26日
    2
  • 使用python激活成功教程7z压缩包密码

    使用python激活成功教程7z压缩包密码此程序原理很简单 首先去下载一个 7z exe 和 7z dll 模块 然后用 python 做一个重复测试密码解压文件的脚本 一直重复测试 一旦解压成功 脚本则会检测出文件已解压 则会终止测试 然后把测试正确的密码打印出来 当然 这个程序需要优化 毕竟它需要解压出来才能检测到 由于时间的问题 粗略的敲了一代码作为紧急使用 文件我已经打包完成了 会在下方有软件链接 大家可以去下载使用 7z 压缩包密码激活成功教程软件下载链接密码本链接下载 很多密码样式多重多样 1 win r 打开 cmd 输入下方代码进行安装 pyth

    2026年3月19日
    1
  • 最新ChatGPT充值订阅,国内开通GPT Plus会员教程(亲测有效)

    最新ChatGPT充值订阅,国内开通GPT Plus会员教程(亲测有效)

    2026年3月15日
    2
  • 如何设置Pycharm在打开Terminal终端时,自动进入虚拟环境?

    如何设置Pycharm在打开Terminal终端时,自动进入虚拟环境?让 Pycharm 打开 Terminal 时快速进入虚拟环境的方法

    2026年3月17日
    1
  • SVM原理介绍

    SVM原理介绍一 SVM 算法要解决什么问题 SVM 的全称是 SupportVecto 即支持向量机 主要用于解决模式识别领域中的数据分类问题 属于有监督学习算法的一种 SVM 要解决的问题可以用一个经典的二分类问题加以描述 如图 1 所示 红色和蓝色的二维数据点显然是可以被一条直线分开的 在模式识别领域称为线性可分问题 然而将两类数据点分开的直线显然不止一条 图 1 b 和 c 分别给出了 A B 两种不同

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号