zoukankan      html  css  js  c++  java
  • img图片加载出错处理(转载)

    为了美观当网页图片不存在时不显示叉叉图片
    当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带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.onerror=null; 增加后如下:

    <img src="图片的url地址" alt="图片XX" onerror="this.src='默认图片的url地址';this.onerror=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属性的值)

    原文链接

  • 相关阅读:
    读《大数据的互联网思维》有感
    IDEA控制台问题:At least one JAR was scanned for TLDs yet contained no TLD
    youDao
    IDEA学习——模板及其常用模板
    IDEA控制台问题:java lang OutOfMemoryError:PermGen space
    MySQL版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver
    代码自省(周一)
    IDEA链接mySQL问题 : You have an error in your SQL syntax : 'OPTION SQL_SELECT_LIMIT=1000' (or 'OPTION SQL_SELECT_LIMIT=DEFAULT')
    我的大学流水日记
    mysql的使用
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/10493444.html
Copyright © 2011-2022 走看看