(H5轮播)vue一个轮播里显示多个内容/一屏展示两个半内容

效果图 :

html:

复制代码
  <div class="content">
          <van-swipe
            class="my-swipe com-long-swipe-indicator"
            :autoplay="2500"
            indicator-color="#00C4FF"
          >
            <van-swipe-item
              class="flex-row-wrap"
              v-for="(items, index) in Math.ceil(conferenceData.length / 9)"
              :key="`guests_${index}`"
            >
              <div
                v-for="(item, index) in conferenceData.slice(
                  (items - 1) * 9,
                  items * 9
                )"
                :key="index"
                class="conference-guests-item-box"
              >
                <div
                  class="conference-guests-item-img flex-column-start-end"
                  :style="{ background: 'url(' + item.picture + ')' }"
                >
                  <div class="conference-guests-item-text">
                    <div class="conference-guests-item-name">
                      {{ item.name }}
                    </div>
                    <div class="conference-guests-item-company">
                      {{ item.company }}
                    </div>
                    <div class="conference-guests-item-profession">
                      {{ item.profession }}
                    </div>
                  </div>
                </div>
              </div>
            </van-swipe-item>
          </van-swipe>
        </div>

return里声明的数据或者直接使用后台返回的数据

复制代码
 conferenceData: [
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 0,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 1,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 2,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 3,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 4,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 5,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 6,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 7,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 8,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 9,
          webGuestId: "3775644503695286273",
        },
        {
          company: "科技公司",
          name: "张三",
          pawId: "3760726639167201673",
          picture:
            "../digital_system/cbc8a90f3a6a4e699646a0d45f89a001.jpg",
          profession: "执行董事/董事长兼首席执行官",
          sort: 10,
          webGuestId: "3775644503695286273",
        },
      ], //嘉宾数据

css:

复制代码
.flex-row-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.flex-column-start-end {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
}
.conference-guests-item-box {
    flex: 0 0 33.33%;
  }
  .conference-guests-item-img {
    width: 100%;
    height: 2.28rem;
    background-size: 100% !important;
  }
  .conference-guests-item-text {
    padding: 0 0 0.06rem 0.2rem;
    font-size: 0.12rem;
    font-family: PingFangSC-Medium, PingFang SC;
    font-weight: 500;
    color: #ffffff;
    line-height: 0.16rem;
  }
  .conference-guests-item-name {
    font-size: 0.16rem;
    font-family: SourceHanSansCN-Heavy, SourceHanSansCN;
    font-weight: 800;
    color: #ffffff;
    line-height: 0.23rem;
    margin-bottom: 0.08rem;
  }

效果图:

html:

cnLeftItem:[]为后台返回数据

复制代码
      <van-swipe
              class="com-long-swipe-indicator"
              :loop="false"
              :width="swipeWidth"
            >
              <van-swipe-item v-for="item in cnLeftItem" :key="item.webNewsId">
                <a
                  :href="item.jumpLink || 'javascript:;'"
                  target="_blank"
                  class="report-item default-bg"
                  :style="{
                    'background-image': `url(${item.cover})`,
                  }"
                >
                  <span class="report-item-news-title van-multi-ellipsis--l2">
                    {{ item.newsTitle }}
                  </span>
                </a></van-swipe-item
              >
            </van-swipe>

js:

复制代码
  created() {
    //一定要写在created里,在数据渲染完成之前拿到屏幕宽度
    this.bodyWidth = window.innerWidth;
    this.swipeWidth = window.innerWidth * 0.3946;
  },
相关推荐
空&白2 分钟前
css元素的after制作斜向的删除线
前端·css
海盐泡泡龟2 分钟前
“组件、路由懒加载”,在 Vue3 和 React 中分别如何实现? (copy)
前端·javascript·react.js
coding随想12 分钟前
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
javascript
_揽34 分钟前
html如何在一张图片上的某一个区域做到点击事件
前端·html
踢足球的,程序猿37 分钟前
从 Vue 2.0 进阶到 Vue 3.0 的核心技术解析指南
前端·javascript·vue.js·前端框架·html
冷凌爱39 分钟前
Fetch与Axios:区别、联系、优缺点及使用差异
前端·node.js·js
袁煦丞1 小时前
跨平台终端王者Tabby:cpolar内网穿透实验室第632个成功挑战
前端·程序员·远程工作
Sailing1 小时前
Grafana-mcp-analyzer:基于 MCP 的轻量 AI 分析监控图表的运维神器!
前端·node.js·mcp
阿山同学.1 小时前
AWS 亚马逊 S3存储桶直传 前端demo 复制即可使用
前端·javascript·aws
Jolyne_2 小时前
grid 实现完美的水平铺满、间隔一致的自适应布局
前端·css