img标签src不给路径就会出现边框
<img/>在src加载失败或没有给的,浏览器会自动给img加上边框。
如下图这样:

产品觉得影响美观,一定要pass掉。
原码是这样:
.ctn{
	position: relative;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 3px;
	overflow: hidden;
	background: #FFF;
}
.ctn .title{
	position: absolute;
	top: 0;
	width: 2.8rem;
	height: 2.8rem;
	background:rgba(0,0,0,.35) ;
	color: #FFF;
	font-size: .52rem;
	font-weight: bold;
	padding:0 .4rem;
}
.ctn img{
	width: 2.6rem;
	height: 2.2rem;
	margin: .3rem auto;
	object-fit: cover;
	background: url(images/120X120.jpg?201608012) no-repeat center;
	background-size: 2.2rem;
}
<div class="ctn">
    <div class="title sn-flex center">
	    <p>休闲西装</p>
    </div>
	<img src=""/>
</div>
百度一下,在知乎上找到了解决方案,链接在这https://www.zhihu.com/question/27426689
基于能用css实现就不用js的原则,选择了以下的解决方案:
给img包个div
<div class="ctn">
    <div class="title sn-flex center"><p>收腰款</p></div>
    <div class="img-ctn">
         <img  src="temp/app_200x200.jpg"/>
    </div>
</div>
.ctn .img-ctn{
	width: 2.6rem;
	height: 2.2rem;
	margin: .3rem auto;
	overflow: hidden;
}
.ctn .img-ctn img{
	width: -webkit-calc(2.6rem + 2px);
	height: -webkit-calc(2.2rem + 2px);
	width: calc(2.6rem + 2px);
	height: calc(2.2rem + 2px);
	background: url(images/120X120.jpg?201608012) no-repeat center;
	background-size: 1.8rem;
	margin: -1px;
	object-fit: cover;
}
but,有问题,无图片时上下的border是隐藏了,左右无论怎么样都隐藏不了,暂时没查出来问题,于是改成了这样:
.ctn .img-ctn{
	width: 2.6rem;
	height: 2.2rem;
	margin: .3rem auto;
	overflow: hidden;
	background: url(images/120X120.jpg?201608012) no-repeat center;
	background-size: 1.8rem;
}
.ctn .img-ctn img{
	width: inherit;
	height: inherit;
	object-fit: cover;
}
/*无src隐藏*/
.ctn .img-ctn img[src='']{
	visibility: hidden;
}
后来,在控制台调试时,忽然灵光乍现,FUCK,是reset样式的问题。
原来,base.css
对img做了这个
img {
    max-width: 100%;
}
hehe,重新又改成这样:
.ctn .img-ctn{
	width: 2.6rem;
	height: 2.2rem;
	margin: .3rem auto;
	overflow: hidden;
}
.ctn .img-ctn img{
	width: -webkit-calc(2.6rem + 2px);
	height: -webkit-calc(2.2rem + 2px);
	width: calc(2.6rem + 2px);
	height: calc(2.2rem + 2px);
	background: url(images/120X120.jpg?201608012) no-repeat center;
	background-size: 1.8rem;
	margin: -1px;
    /*就是这货*/
	max-width: none;
	object-fit: cover;
}
ok,提交给开发,终于可以偷懒一会了。
however,改变来的太快。开发发来了一张图:

去开发机上调试一下,瞬间感受到了深深的恶意。
原来图片的背景图层是透明的,盒子模型的渲染层级是color>src>background-image>background-color,图片空白区域透明自然就显示背景图片了。
img{
    background: red url(images/120X120.jpg?201608012) no-repeat center;
}
<img src=".png">

感觉自己的洪荒之力已经用完了。。。。

at the end,为了规避这种图片出现,直接不给背景图片了,还是通过模板引擎来判断吧
<img src="{$src||'images/120X120.png'}"/>
多好,一下子就解决了。
白白绕了这么一大圈

img标签src不给路径就会出现边框的更多相关文章
- img标签src不给路径就会出现边框————记一次二笔的编码经历
		<img/>在src加载失败或没有给的,浏览器会自动给img加上边框. 如下图这样: 产品觉得影响美观,一定要pass掉. 原码是这样: .ctn{ position: relative; ... 
- 转.HTML中img标签的src属性绝对路径问题解决办法,完全解决!
		HTML中img标签的src属性绝对路径问题解决办法,完全解决 需求:有时候自己的项目img的src路径需要用到本地某文件夹下的图片,而不是直接使用项目根目录下的图片. 场景:eclipse,to ... 
- 关于img标签浏览器自带的边框,清除边框的解决方式(即img[src=""] img无路径情况下,灰色边框去除解决方法)
		详解img[src=""] img无路径情况下,灰色边框去除解决方法 1.Js解决办法 <html> <head> <meta charset=&qu ... 
- img标签src=""和background-image:url();引发两次请求页面bug
		img标签src=""和background-image:url();引发两次请求页面bug 具体原因是,在img 对象的src 属性是空字符串("")的时 ... 
- php读取出字符串中的img标签中的图片路径
		php读取出字符串中的img标签中的图片路径 $pageContents = '字符串,带img标签'; $pageContents = str_replace('\"','"', ... 
- htm中的 src未指定具体路径的话 默认查找当前文件夹
		htm中的 src未指定具体路径的话 默认查找当前文件夹 
- Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案
		Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案 1. IE8.0 显示本地图片 img.src=本地图片路径无效的解决方案1 1.1. div来完成 ... 
- ie6下使用js替换img标签src属性图片不显示的错误
		首先,我必须再次强调一下,F-U-C-K I-E! 其次,简单阐述一下这个bug的出现的情况.页面中有个<a href=”javascript:void(0)” onclick=”swapImg ... 
- XtraFinder到底好在哪里(标签、隐藏文件、路径拷贝与显示、从这里启动)
		类似Chrome的标签 自定义工具栏可添加一个快速显示与隐藏当前目录隐藏文件的功能 拷贝路径 cd 到当前目录这个功能跟PathFinder7类似 当然还有其他很多功能,比如这个返回上级目录, 
随机推荐
- urllib与urllib2的学习总结
			先啰嗦一句,我使用的版本是python2.7,没有使用3.X的原因是我觉得2.7的扩展比较多,且较之前的版本变化不大,使用顺手.3.X简直就是革命性的变化,用的蹩手.3.x的版本urllib与urll ... 
- mysql数据库引擎(转载)
			数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另 ... 
- idea使用及其快捷键(Jetbrains很多是通用的)(转)
			Java程序员肯定会使用idea进行开发,因为其非常强大,很好用,而且可以很傻瓜式导入gradle,用来做SSM项目也很简单 学生是可以使用教育邮箱或者上床学生证使用免费的jetbrains全家桶的, ... 
- OCP/OCA  Oracle 学习001
			select * from TEST3 t select object_type, count(object_type) from user_objects group by object_type ... 
- 两天了。照着SVN的界面画的一个界面。
			可以选择显示哪些列. 界面上的东西,都简单,麻烦的是它的下层.下层全部用svn server的服务器自带的svn.exe来支持. 有些位置要启动svn.exe不止一次.所以参数的来回传递,来回组合 ... 
- oracle数据导入/导出(2)
			Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢 ... 
- mybatis学习:mybatis的二级缓存
			一级缓存: 一级缓存是SqlSession级别的缓存.在操作数据库时需要构造 sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据.不同的sqlSession ... 
- 如何修改MyEclipse的SVN账户和密码
			如何修改MyEclipse的SVN账户和密码呢? 操作方法:删除C:\Users\Administrator\AppData\Roaming\Subversion\auth\svn.simple文件夹 ... 
- ssh实现免密码登录和文件传输
			一般的用户名密码认证不安全,很容易被暴力破解,还不方便:而大多数人都是选择使用 SSH 密钥认证,不仅安全还不用每次输密码 ssh密钥对 # 使用 ssh-keygen 生成非对称密钥,一路回车即可 ... 
- 01Redis入门指南笔记(简介、安装、配置)
			一:简介 Redis是一个开源的高性能key-value数据库.Redis是Remote DIctionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议 ... 
