vue实现简单瀑布流布局
网络编程 2021-07-04 15:02www.168986.cn编程入门
这篇文章主要为大家详细介绍了vue实现简单瀑布流布局,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
vue简单实现瀑布流布局的一种方式(vue瀑布流组件),供大家参考,具体内容如下
vue中的瀑布流布局组件
需求图片容器宽度固定,高度根据图片自适应,图片一行不能排列时候,换行依次从左往右排列。(瀑布流概念)
结合vue-lazy实现懒加载 ( npm i vue-lazyload --save-dev)
使用也很简单,在需要懒加载的img标签上将:src换成v-lazy
父组件传递数据
waterfallData:[ { e_img: "test.jpg", // 图片 e_intro: "描述信息", u_img: "test.jpeg", // 标记图 u_name: "开发者"}, { e_img: "test.jpg", e_intro: "描述信息", u_img: "test.jpeg", u_name: "开发者"} ]
定宽不定高瀑布流布局子组件
<template> <div> <div class="waterfall px-container clearfix" v-cloak> <ul class="px-waterfall left" v-for="(el,i) in newWaterfallData" :key="i"> <li v-for="(item,index) in el" :key="index"> <div style="position: relative;" > <router-link to="/goodsdetail/1"> <img v-lazy="item.e_img" class="bg-img" alt="" v-loading="true"> </router-link> <div class="px-hot-tag" v-if="item.u_img"> <img :src="item.u_img" alt="" > </div> <h3 class="font22 color-fff fh" v-if="item.e_intro"> {{item.e_intro}}</h3> </div> </li> </ul> </div> </div> </template> <script> export default { data() { return { newWaterfallData: '', waterfallDataNumber:'' } }, created() { let [ ...waterfallData ] = this.waterfallData let [ ...newWaterfallData ]= [[],[],[]] waterfallData.forEach((el,i) => { switch( i%3 ) { case 0 : newWaterfallData[0].push(el) break case 1: newWaterfallData[1].push(el) break case 2: newWaterfallData[2].push(el) break } }); this.newWaterfallData = newWaterfallData }, props: [ 'waterfallData' ] } </script> <style lang="scss"> .px-container { width: 100%; max-width: 1200px; margin: 0 auto; } .clearfix:before, .clearfix:after { content: ""; display: block; clear: both; } .clearfix { zoom: 1; } .left { float: left; } . font22{ font-size:22px; } .color-fff { color:#fff; } .fh { overflow:hidden; } [v-cloak]{ display: none!important; } .waterfall { margin-: 20px; } .px-waterfall { width: calc(380px); &:nth-child(3n+2) { margin: 0 30px; } img.bg-img { border-radius: 8px; } h3 { text-overflow:ellipsis; white-space: nowrap; text-overflow: ellipsis; height:30px; font-family:PingFangSC-Semibold; font-weight:600; line-height:30px; letter-spacing:6px; position: absolute; : 50%; left: 50%; transform: translate(-50%,-50%); z-index: 999; } li{ background: #fff; border-radius: 8px; margin-bottom: 20px; } } .px-hot-tag { position: absolute; : 0; border-radius: 8px; width: 71px; height: 30px; img { border-radius: 8px 0 8px 0; } } .photo{ position: relative; height: 25px; .keywordbox { position: absolute; left: 50%; : 50%; transform: translate(-50%,-50%); height: 25px; } } .keyword { height: 25px; line-height: 25px; padding: 0 22px; text-align: center; .color-666-line { border-bottom:2px solid #666666; } .red-line { border-bottom:2px solid #F65050; } } </style>
如有问题,欢迎指正,如您有好的方案,敬请与我分享!
更多文章可以点击《》学习阅读。
关于vue.js组件的教程,请大家点击专题进行学习。
更多vue学习教程请阅读专题
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程