悬停时图像的底部边缘出现一条白线

Posted

技术标签:

【中文标题】悬停时图像的底部边缘出现一条白线【英文标题】:A white line is appearing on bottom edge of the image on hover 【发布时间】:2021-04-08 17:34:26 【问题描述】:

我遇到了出现在“div 类库”内每个图像底部的白色像素线的问题。鼠标悬停时出现白线[我在悬停时包含了变换元素]

此外,这些图像仅包含在“galary”和“photo”类中,而不包含在任何其他类中。

代码如下:

div.photo 
  height: 2rem;
  transition: transform .2s;


.photo:hover 
  transform: scale(0.9);
  cursor: pointer;
  box-shadow: 15px 15px 15px;


.gallary 
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-gap: 2em;
<div class="gallary">
  <div class="photo"><img src="https://source.unsplash.com/300x200?v=1"></div>
  <div class="photo"><img src="https://source.unsplash.com/300x200?v=2"></div>
  <div class="photo"><img src="https://source.unsplash.com/300x200?v=3"></div>
</div>

【问题讨论】:

【参考方案1】:

从 .photo 中删除 box-shadow 并添加到图像中:

 div.photo 
height: 2rem;
transition: transform .2s;

.photo:hover 
transform: scale(0.9);
cursor: pointer;

.photo:hover img
  box-shadow:  15px 15px 15px;

.gallary 
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-gap: 2em;
    <div class="gallary"> 
      <div class="photo"><img src="https://e0.365dm.com/20/12/768x432/skysports-messi-barcelona-la-liga_5220695.jpg?20201228082630"></div>
      <div class="photo"><img src="https://e0.365dm.com/20/12/768x432/skysports-messi-barcelona-la-liga_5220695.jpg?20201228082630"></div>
      <div class="photo"><img src="https://e0.365dm.com/20/12/768x432/skysports-messi-barcelona-la-liga_5220695.jpg?20201228082630"></div>
    </div>

【讨论】:

【参考方案2】:

尝试将图像放在有边框的&lt;div&gt; 元素中,您会在图像底部看到一个额外的空白区域(大约 3 像素)。发生这种情况是因为图像是内联元素,因此浏览器会在基线下添加一些空白来调整其他内联元素。摆脱这种情况的最简单方法是将图像的默认显示值从 inline 更改为 block,即将样式 display: block; 应用于图像。

【讨论】:

以上是关于悬停时图像的底部边缘出现一条白线的主要内容,如果未能解决你的问题,请参考以下文章

Element UI Table组件固定列底部有一条白线的解决方案

Element UI Table组件固定列底部有一条白线的解决方案

iOS UITableView 错误 - 每个其他 tableview 单元格上都有白线

Python边缘提取如何拟合一条线

Leaflet.js网格的白线

内部底部白线[重复]