当前位置:首页 > VUE

vue实现双列商品卡片

2026-02-22 09:53:40VUE

实现双列商品卡片布局

使用Vue实现双列商品卡片布局可以通过Flex布局或Grid布局完成。以下是一个基于Flex布局的示例:

<template>
  <div class="product-list">
    <div 
      v-for="(product, index) in products" 
      :key="index" 
      class="product-card"
    >
      <img :src="product.image" :alt="product.name">
      <h3>{{ product.name }}</h3>
      <p>¥{{ product.price }}</p>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      products: [
        { name: '商品1', price: 99, image: 'url1' },
        { name: '商品2', price: 199, image: 'url2' },
        // 更多商品...
      ]
    }
  }
}
</script>

<style scoped>
.product-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
}

.product-card {
  width: calc(50% - 8px);
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 12px;
  box-sizing: border-box;
}

.product-card img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
</style>

使用CSS Grid布局替代方案

如果需要更灵活的网格控制,可以使用CSS Grid:

.product-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.product-card {
  /* 保持与Flex方案相同的样式 */
}

响应式设计处理

添加媒体查询实现响应式布局:

@media (max-width: 768px) {
  .product-list {
    grid-template-columns: 1fr;
  }

  .product-card {
    width: 100%;
  }
}

动态加载更多商品

结合分页加载功能:

methods: {
  loadMore() {
    // 模拟API获取更多数据
    this.products = [...this.products, ...newProducts]
  }
}

性能优化建议

对于长列表考虑使用虚拟滚动:

<template>
  <RecycleScroller
    class="product-list"
    :items="products"
    :item-size="200"
    key-field="id"
  >
    <template v-slot="{ item }">
      <div class="product-card">
        <!-- 卡片内容 -->
      </div>
    </template>
  </RecycleScroller>
</template>

需要先安装vue-virtual-scroller插件。这种方案特别适合移动端长列表场景。

vue实现双列商品卡片

标签: 卡片商品
分享给朋友:

相关文章

vue 实现卡片拖拽

vue 实现卡片拖拽

Vue 实现卡片拖拽 使用 HTML5 原生拖拽 API HTML5 提供了原生的拖拽 API,可以通过 draggable 属性、dragstart、dragend、dragover 和 drop…

vue实现探探卡片

vue实现探探卡片

Vue 实现探探卡片效果 探探卡片的交互效果主要包括卡片堆叠、左右滑动、缩放和旋转动画。以下是基于 Vue 3 的实现方法: 核心组件结构 使用 v-for 渲染卡片列表,通过 CSS 绝对定位实…

vue实现卡片拖动

vue实现卡片拖动

Vue 实现卡片拖动的几种方法 使用 HTML5 拖放 API HTML5 提供了原生的拖放 API,可以在 Vue 中直接使用。通过 draggable 属性标记可拖动的元素,并监听 dragsta…

vue实现卡片切换

vue实现卡片切换

Vue实现卡片切换的方法 使用v-if和v-show指令 通过Vue的指令控制卡片的显示与隐藏,适合简单的卡片切换需求。 <template> <div> <…

vue实现卡片平铺

vue实现卡片平铺

Vue 实现卡片平铺布局 使用 Vue 实现卡片平铺布局通常结合 CSS Grid 或 Flexbox 实现响应式排列,以下是两种常见方法: 使用 CSS Grid 布局 通过 display:…

vue实现商品显示

vue实现商品显示

Vue 实现商品显示的基本方法 使用 Vue.js 实现商品显示功能可以通过多种方式完成,包括静态数据展示、动态数据绑定、组件化开发等。以下是几种常见的实现方法: 数据绑定与列表渲染 在 Vue 中…