element-card用法总结

大神请移步,菜鸟可以参考一下。

在项目中,利用el-card实现了一个类似通知栏的功能,顺便总结了一些细节问题。老规矩,先上代码:

	<el-card>
        <div slot="header">
          <span>用户须知</span>
          <el-button style="float: right" type="warning" @click="editShow(infos)" size="mini" v-if="user.privilege===10">修改</el-button>
          <el-button style="float: right;margin-right: 20px" type="primary" @click="addVisible = true" size="mini" v-if="user.privilege===10">添加</el-button>
        </div>
        <div style="margin-right: 15px; word-break: break-all">
          <ol type="1">
            <div v-for="info in infos" :key="info" class="paragraph_indent">
              <li>{{info}}</li>
            </div>
          </ol>
        </div>
      </el-card>

1、修改el-card__header 样式

.el-card__header {
    background-color: yellowgreen;
  } 

默认情况下,el-card__header没有背景颜色,用户可以根据需要进行设置

2、列表项相关

作为一个通知栏,最好能够是一个有序的列表,这样比较直观,同时,每一个单项直接需要设置恰当的行间距,首行空几个像素等。当一行的内容过多时,注意换行,

设置自动换行

 <div style="margin-right: 15px; word-break: break-all">
 省略内容。。。
 </div>

有序列表

	<ol type="1">
       <div v-for="info in infos" :key="info" class="paragraph_indent">
          <li>{{info}}</li>
        </div>
    </ol>

注意,列表项的循环放在一个单独的div的标签之下,v-for语句不要放在ol标签属性中,如果是无序列表,效果实现是相同的,但是如果是有序列表,生成的序号是相同的。

.paragraph_indent {
    text-indent: 20px;
    margin-top: 10px;
  }

上面样式主要是控制列表项的行间距及首行缩进

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是使用Vue3和ElementUI实现一个简单的类似淘宝的购物网站的代码示例: ```html <!DOCTYPE html> <html> <head> <title>购物网站</title> <!-- 引入ElementUI样式 --> <link rel="stylesheet" href="https://unpkg.com/element-plus/lib/theme-chalk/index.css"> </head> <body> <div id="app"> <!-- 头部导航栏 --> <el-header> <!-- 导航栏左侧 --> <div class="logo"> <a href="#">购物网站</a> </div> <!-- 导航栏右侧 --> <div class="nav"> <el-menu :default-active="activeIndex" mode="horizontal" @select="handleSelect"> <el-menu-item index="home">首页</el-menu-item> <el-submenu index="goods"> <template #title>商品</template> <el-menu-item index="clothes">衣服</el-menu-item> <el-menu-item index="shoes">鞋子</el-menu-item> <el-menu-item index="electronics">电子产品</el-menu-item> </el-submenu> <el-menu-item index="cart">购物车</el-menu-item> <el-menu-item index="about">关于我们</el-menu-item> </el-menu> </div> </el-header> <!-- 主体部分 --> <el-main> <!-- 商品列表 --> <div class="goods-list"> <el-row :gutter="20"> <!-- 商品卡片 --> <el-col :span="8" v-for="(item, index) in goodsList" :key="index"> <el-card> <img :src="item.img" class="card-img-top" alt="商品图片"> <div class="card-body"> <h5 class="card-title">{{ item.name }}</h5> <p class="card-text">{{ item.desc }}</p> <p class="card-text">价格:¥{{ item.price }}</p> <el-button type="primary" @click="addToCart(item)">加入购物车</el-button> </div> </el-card> </el-col> </el-row> </div> </el-main> <!-- 底部 --> <el-footer>版权所有 © 购物网站</el-footer> </div> <!-- 引入Vue.js和ElementUI库 --> <script src="https://unpkg.com/vue@next"></script> <script src="https://unpkg.com/element-plus"></script> <script> // 创建Vue实例 const app = Vue.createApp({ data() { return { activeIndex: 'home', // 默认选中的导航栏项 goodsList: [ // 商品列表数据 { img: 'https://picsum.photos/200/200', name: '商品1', desc: '这是商品1的描述', price: 1000 }, { img: 'https://picsum.photos/200/200', name: '商品2', desc: '这是商品2的描述', price: 2000 }, { img: 'https://picsum.photos/200/200', name: '商品3', desc: '这是商品3的描述', price: 3000 } ], cartList: [] // 购物车列表数据 } }, methods: { handleSelect(index) { this.activeIndex = index }, addToCart(item) { this.cartList.push(item) this.$message.success('添加成功') } } }) // 挂载Vue实例到DOM元素上 app.mount('#app') </script> </body> </html> ``` 注:以上代码需要同时引入Vue.js和ElementUI库才能正常运行。由于图片资源来自于第三方库,因此每次刷新页面可能会显示不同的图片。此示例中只实现了商品列表和加入购物车的功能,其他功能需要自行实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值