img src为空时 360浏览器边框问题 及其他浏览器问题解决方案

部分摘自原文链接:
https://www.zhihu.com/question/27426689
https://segmentfault.com/a/1190000005958514
代码来了:

<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
      <style>
      div{
          width:100px;
          height:100px;
      }
      img{
        width:100px;
        height:100px;
        border-radius: 50%;
        background-color: pink;
        display:inline-block;
        border-style:none;
        /* overflow:hidden; */

      }
  </style>
</head>
<body>
    <div>
         <img src="javascript:;" alt="111" />
    </div>
</body>

以上代码 360浏览器下效果,会有边框。谷歌浏览器下img带alt属性时无边框,不带alt属性同样有边框。


image.png

经测试假如图片带有border-radius ,可以添加 overflow:hidden; 去除
测试 360浏览器会有切边边框问题。Chrome正常 ,360效果如下


image.png

推荐这种方式解决 给img加onerror属性

<img src="abc.gif" onerror="this.onerror=null;this.src='111.gif'" />
或者
<img src="abc.jpg" onerror="onerror=null;src='123.jpg'" />

onerror=null是当图片加载失败的时候,我们可以利用onerror事件赋予它默认图片,但是问题来了,假如默认图片又不存在呢,即加载失败,这个时候就会陷入死循环。
为了避免死循环的情况,我们可以在执行完onerror事件后,置于onerror=null 来清除onerror事件

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 之前写过一篇浏览器事件的相关操作和事件运行的原理——JavaScript浏览器事件解析。这一篇主要写一些常用的事件...
    faremax阅读 5,565评论 0 0
  • 前端开发面试题 <a name='preface'>前言</a> 只看问题点这里 看全部问题和答案点这里 本文由我...
    自you是敏感词阅读 4,200评论 0 3
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 9,727评论 0 0
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,867评论 1 11
  • 昨日我洗洗衣服又是刷鞋子,忙活了一大会儿,舍友调侃我:“你太贤惠了,以后谁娶了你,谁享福,虽然你很二!”进入大学,...
    青柠檬粉柠檬lemon阅读 3,529评论 6 0