如何解决图片加 border 后图片会和边框有不太明显的界限?
如上图,给图片加了 border 后,无论直接给图片加,还是给图片套一个壳子加,都会有一点点不太明显的图片和边框之间的分割线,在手机看尤其明显。
勉强看不出来的解决方案:
给图片外层加 border,给图片的宽高都放大一点点,同时给外层付元素设垂直居中,外层父元素不要写 overflow:hidden ,这样图片会不加圆角展示,但是不会看到黑边,代码和效果如下:
.app-icon { width: 80px; height: 80px; border: 5px solid #fff; border-radius: 10px; /* 一定要这么写,否则 icon 会有一根黑边 */ display: flex; align-items: center; justify-content: center; background: #fff; img { /* 一定要这么写,否则 icon 会有一根黑边 */ width: 102%; height: 102%; } }
如果一定要给图片也带边框,则给图片单独加个 border-radius,不要给外层父元素加 overflow:hidden。
.app-icon { width: 80px; height: 80px; border: 5px solid #fff; border-radius: 10px; /* 一定要这么写,否则 icon 会有一根黑边 */ display: flex; align-items: center; justify-content: center; background: #fff; img { /* 一定要这么写,否则 icon 会有一根黑边 */ width: 102%; height: 102%; border-radius: 10px; } }
对比下给外层父元素设 overflow:hidden 的效果: