列表中,悬浮到某一块之后,因高度不同,导致排列错乱

最近项目中,要实现栅格系统布局,并且高度不固定,鼠标悬浮后多出30px的下载按钮,导致后面排列错乱。

鼠标悬浮之后,后面错乱:

列表中,悬浮到某一块之后,因高度不同,导致排列错乱

代码:
<el-row>
  <!--视频-->
  <el-col v-for="(item1,index1) in item.mediaList" :key="index1" class="media-col" :xs="24" :sm="12" :md="6" :lg="4">
    <div class="resource-box" v-if="item1.mediaType == 1">
      <!--视频封面-->
      <div class="parents-box">
        <div class="cover-box">
          <img :src="item1.imgSrc" alt="加载失败">

          <!--播放按钮-->
          <span class="play-btn-icon" v-show="isShowPlayBtn" @click="playVideoBtn(item1,index1)"></span>
        </div>
        <!--悬浮显示下载按钮-->
        <div class="down-load-file" @click="downLoadFile(item1,index1)">
          <span></span>
        </div>
      </div>
      <!--底部信息-->
      <div class="video-info">
        <div>
          <span class="file-icon name-icon"></span>
          <span class="txt-overflow file-name" :title="item1.fileName">{{item1.fileName}}</span>
        </div>
        <div>
          <span class="file-icon time-icon"></span>
          <span class="txt-overflow word-style file-time" :title="item1.fileTime">{{item1.fileTime}}</span>
          <span class="txt-overflow word-style file-size" :title="item1.fileSize">{{item1.fileSize}}</span>
        </div>
      </div>
    </div>
   
  </el-col>

</el-row>

这是因为在布局中使用el-col标签布局,el-row自带浮动样式(float:left),

需要去掉浮动,具体样式如下:

el-col{

  float:none;

  display: inline-block;  // 一行排多个

   vertical-align: top; //因高度不一致,靠顶部对齐

}

结果:

 列表中,悬浮到某一块之后,因高度不同,导致排列错乱