5 个回答
  img[src=""],img:not([src]){

      opacity:0;

 }

图片正常访问就没有边框的,要想路径不正确的时候没边框,可以设置max-width:100%;max-height:100%;

是不是父标签的边框导致的?看你计算样式,也是border=none生效了的。还有就是,你弄一张能加载出来的图片,再试下。

参考知乎的问题:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<img src="error.jpg" onerror="whenError(this)">
</body>
<script>
function whenError(a){
    a.onerror = null;
    a.src = 'http://avatar.csdn.net/1/E/E/1_qq_27080247.jpg';
    console.log('图片出错的时候调用默认的图片');
}
</script>
</html>

代码来源
作者:秋风
链接:https://www.zhihu.com/questio...
来源:知乎

个人建议把图片修改为 1*1 像素的 png 图片如:blank.png;

  1. 看到过别人提类似的问题div下的img标签100%宽高会有白色边框,看你截图的盒模型可知,盒模型上根本 就没有标识出border,所以所谓的边框根本就不是盒模型的边框,而是规范中规定当img不能正常加载时,浏览器需要提供一种显示效果来表明这个位置其实是一个图片元素,只是图片没有正常加载。

  2. 所以,当图片不能加载出来的时候,我觉得这个效果是合理的;如果非要改变的话,我能想到的是用js,监听img的onerror事件,当图片加载失败的时候,做一些其他操作,如添加默认图片,或者在失败的时候把图片的透明度设置为0。

推荐问题
宣传栏