在线求助:加了position: absolute后图片不再显示。大佬救命

高玩的智熄操作 2023-05-09 16:39:41

在网上找了一个瀑布流图片的代码,自己实现了一下

组件部分代码是这样的:

<!--      图片瀑布流-->
      <el-container id="index">
        <!-- 点击图片详情弹窗 --><!-- :open="opmethod" -->
        <el-dialog :visible.sync="dialogVisible" :fullscreen="true" custom-class="el-dialog-aa" top="0"
                   :show-close="false" @open="opmethod">
          <pic-detail ref="detailWin" :picId="picId" @closedialog="closedialog"></pic-detail>
        </el-dialog>
        <!-- 公共搜索头部,管理页面不显示 -->
<!--        <el-header>
          <common-header @clickSearch='search'></common-header>
        </el-header>-->
        <!-- 主体瀑布流区域,无限滚动 -->
        <div class="v-waterfall-content" ref="abc" v-infinite-scroll="getMoreData" infinite-scroll-disabled="disabled"
             infinite-scroll-distance="10" style="overflow:auto">
          <div v-for="img in waterfallList" :key="img.key" class="v-waterfall-item"
               :style="{top:img.top+'px',left:img.left+'px',width:imageWidth+'px',height:img.height}">
            <!-- 图片卡片 -->
            <el-card shadow="hover" :body-style="{'padding':'0px','border-radius':'10px'}" @click.native="openDialog(img.id)">
              <!-- 图片懒加载 -->
              <el-image :src='img.src' class='image' :key='img.src' lazy>
                <!-- 加载前占位 -->
                <div slot="placeholder" class="image-slot">
                  <div :style="{height:img.height+'px',width:imageWidth + 'px',backgroundColor:img.colour}"></div>
                </div>
                <!-- 加载失败占位 -->
                <div slot="error" class="image-slot">
                  <div :style="{height:img.height+'px',width:imageWidth + 'px',backgroundColor:img.colour}"></div>
                </div>
              </el-image>
            </el-card>
          </div>
        </div>
      </el-container>

跑起来是这样的效果,加css之前图片是竖着排的

加入了如下css代码

.v-waterfall-content {
  width: 100%;
  height: 100%;
  position: relative;
}

.v-waterfall-item {
  float: left;
  position: absolute;
}

.v-waterfall-item img {
  width: auto;
  height: auto;
}


.el-card__body .image {
  width: 100%;
  display: block;
}

 再运行项目就不显示图片了:

打开控制台可以是看到每个图片的位置信息的,但不知道为什么不显示

 

把.v-water-fall-item里position:absolute注释掉以后可以显示,但效果也不对,存在大量空白,跟控制台里显示的图片的top值也对不上

 

俺是初学者,求大佬帮帮忙吧~

 

...全文
8464 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

61,124

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧