当前位置:首页 > uni-app

uniapp卡片代码

2026-03-05 06:41:32uni-app

以下是在UniApp中实现卡片布局的代码示例和关键方法,适用于常见场景如商品展示、信息卡片等:

基础卡片布局

使用view组件配合CSS实现基础卡片效果:

uniapp卡片代码

<template>
  <view class="card">
    <image class="card-image" src="/static/example.jpg" mode="aspectFill"></image>
    <view class="card-content">
      <text class="card-title">卡片标题</text>
      <text class="card-desc">这里是卡片描述内容,支持多行文本显示</text>
    </view>
  </view>
</template>

<style>
.card {
  width: 90%;
  margin: 20px auto;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  overflow: hidden;
  background-color: #fff;
}
.card-image {
  width: 100%;
  height: 200px;
}
.card-content {
  padding: 15px;
}
.card-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
  display: block;
}
.card-desc {
  font-size: 14px;
  color: #666;
}
</style>

动态列表卡片

结合v-for渲染动态数据:

<template>
  <view v-for="(item, index) in cardList" :key="index" class="card">
    <image class="card-image" :src="item.imageUrl"></image>
    <view class="card-content">
      <text class="card-title">{{ item.title }}</text>
      <text class="card-price">¥{{ item.price }}</text>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      cardList: [
        { imageUrl: '/static/product1.jpg', title: '商品A', price: 99 },
        { imageUrl: '/static/product2.jpg', title: '商品B', price: 129 }
      ]
    }
  }
}
</script>

交互式卡片

添加点击事件和动画效果:

uniapp卡片代码

<template>
  <view 
    class="card" 
    @click="handleCardClick"
    :class="{ 'card-active': isActive }"
    hover-class="card-hover"
  >
    <!-- 卡片内容 -->
  </view>
</template>

<style>
.card-hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}
.card-active {
  border: 2px solid #007AFF;
}
</style>

<script>
export default {
  methods: {
    handleCardClick() {
      uni.showToast({ title: '卡片被点击' });
    }
  }
}
</script>

高级卡片特性

实现带操作按钮的卡片:

<view class="card-with-actions">
  <view class="card-main">
    <!-- 主要内容 -->
  </view>
  <view class="card-actions">
    <button size="mini" @click="handleAction1">操作1</button>
    <button size="mini" @click="handleAction2">操作2</button>
  </view>
</view>

<style>
.card-with-actions {
  position: relative;
  padding-bottom: 50px;
}
.card-actions {
  position: absolute;
  bottom: 0;
  width: 100%;
  display: flex;
  justify-content: space-around;
  padding: 10px;
  background-color: #f5f5f5;
}
</style>

关键注意点:

  • 使用box-shadow替代边框实现更好的视觉效果
  • 图片建议使用mode="aspectFill"保持比例
  • 圆角半径建议使用rpx单位适配不同屏幕
  • 复杂卡片可拆分为多个组件维护

标签: 卡片代码
分享给朋友:

相关文章

h5实现响应式代码

h5实现响应式代码

响应式设计基础 HTML5实现响应式设计主要通过媒体查询(Media Queries)、弹性布局(Flexbox)、网格布局(Grid)和视口设置(Viewport Meta Tag)等技术。核心目标…

vue抽奖代码实现

vue抽奖代码实现

Vue 抽奖代码实现 基础抽奖组件结构 使用 Vue 3 的 Composition API 实现抽奖功能,核心包括转盘动画、奖品列表和抽奖逻辑。以下为组件基础结构: <template&g…

vue实现探探卡片

vue实现探探卡片

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

vue实现网站代码

vue实现网站代码

Vue 实现网站代码的基本步骤 安装 Vue.js 通过 npm 或 CDN 引入 Vue.js。使用 npm 安装:npm install vue。或者直接在 HTML 文件中引入 Vue CDN:…

vue实现动画代码

vue实现动画代码

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,包括内置过渡组件、CSS 动画库集成以及第三方动画库结合。以下是几种常见实现方法: 使用 Vue 内置过渡组件 Vue 的 <tr…

vue分页代码实现

vue分页代码实现

Vue 分页代码实现 在 Vue 中实现分页功能通常需要结合后端 API 返回的数据和前端的分页组件。以下是一个完整的实现示例,包括分页组件的封装和与后端数据的交互。 分页组件封装 创建一个…