【问题标题】:Last element on each row pushing next row first element far to the right on hover每行的最后一个元素在悬停时将下一行的第一个元素推向右侧
【发布时间】:2021-10-14 15:30:46
【问题描述】:

我将 :hover with margin-top: -5px 添加到 *ngFor 列表中的 div 中,它工作正常,但是当我将鼠标悬停在每一行的最后一个 div 上时,这会使下一行的第一个 div 向下推其他div 而第一个 div 移动到悬停的 div 下方的最右侧。

所有的 div 都有相同的高度,我该如何解决它,以便最后一个 div 悬停在一行上不会影响另一行上的 div?

这是我的示例代码:

.divcard {
  width: 24%;
  margin-left: 0.8%;
  height: 420px;
  float: left;
  background-color: rgb(246, 246, 246);
  transition: ease 0.5s;
}

.divcard:hover {
  margin-top: -5px;
}
<div *ngFor="let del of item">
  <div class="divcard">
    <img class="cover" [src]="del.myimg" />
  </div>
</div>

【问题讨论】:

  • 也不要使用 float 尝试查看 display: flex

标签: css angular list


【解决方案1】:

margin 创建空间,你可以使用transform: translateY(-5px) 代替。

编辑:浏览器渲染变换而不影响布局

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2015-07-26
    • 2012-03-13
    相关资源
    最近更新 更多