uniapp瀑布流布局写法
首先我们要清楚瀑布流是什么?
瀑布流布局(Waterfall Flow Layout),也称为瀑布流式布局,是一种常见的网页或移动应用布局方式,特点是元素以不规则的方式排列,就像瀑布中的流水一样,每个元素的高度可以不同。
主要特点和优点包括:
不规则的排列:瀑布流布局允许元素以不同的高度和宽度排列,因此适用于展示不同尺寸和形状的内容,如图片、卡片、商品等。
动态加载:可以通过滚动加载或异步加载来动态添加新的元素,以实现无限滚动效果,提高用户体验。
最大化利用空间:瀑布流布局可以更好地利用可用空间,因为元素会根据其实际高度自动填充空白区域,减少了页面空白和浪费。
适应性:适用于不同屏幕大小和设备类型,可以实现响应式布局,适应各种屏幕分辨率。
视觉吸引力:瀑布流布局在设计上常常呈现出视觉上的吸引力,因为元素的不规则排列可以创造出有趣的视觉效果。
mode="widthFix"什么意思?
当你设置一个图片的 mode 属性为 "widthFix" 时,图片的宽度将会被拉伸或缩小以适应容器的宽度,同时保持图片的原始宽高比例。这意味着图片的高度会根据宽度自动调整,以确保图片不会变形,并且整个图片都能在容器内显示,而不会超出容器或留有空白。
存html和css生成,javascript中仅仅只是用于渲染的假数据。
用于渲染的假数据
itemList: [{imageSrc: 'https://pic.imgdb.cn/item/65084fd3204c2e34d3a96817.jpg',title: '我是标题1',content: '我是内容1',},{imageSrc: 'https://pic.imgdb.cn/item/650850d7204c2e34d3a984ca.jpg',title: '我是标题2',content: '我是内容2',},{imageSrc: 'https://pic.imgdb.cn/item/64eee7e1661c6c8e54a86a07.jpg',title: '我是标题3',content: '我是内容3',},{imageSrc: 'https://pic.imgdb.cn/item/65085109204c2e34d3a9933c.jpg',title: '我是标题4',content: '我是内容4',},{imageSrc: 'https://pic.imgdb.cn/item/65084fd3204c2e34d3a96817.jpg',title: '我是标题5',content: '我是内容5',},],
css样式部分
.content {padding: 30rpx;box-sizing: border-box;column-count: 2;
}
image {width: 100%;border-radius: 6rpx;
}
.title {margin-left: 15rpx;margin-right: 15rpx;font-size: 30rpx;
}
.con {margin: 15rpx;margin-top: 20rpx;display: flex;font-size: 26rpx;align-items: center;justify-content: space-between;
}
.list {break-inside: avoid;width: 330rpx;border: 1px solid #f4f4f4;
}
对于css每一部分的介绍
-
.content:padding: 30rpx;:设置容器.content的内边距为 30rpx,这会在容器内部的内容和容器的边缘之间添加空间。box-sizing: border-box;:指定了盒子模型为border-box,这意味着内边距和边框的宽度不会增加容器的总宽度,以便更好地控制盒子的尺寸。column-count: 2;:将容器.content分成两列,实现多列布局效果。
-
image:width: 100%;:将所有图片的宽度设置为父容器宽度的100%,使图片自适应容器宽度。border-radius: 6rpx;:设置图片的圆角半径为6rpx,使图片的边角变得圆滑。
-
.title:margin-left: 15rpx;和margin-right: 15rpx;:设置标题文本的左右外边距为15rpx,这会在标题文本的左右两侧添加空白间距。font-size: 30rpx;:设置标题文本的字体大小为30rpx。
-
.con:margin: 15rpx;:设置内容区块的上下外边距为15rpx,以及左右外边距的默认值,创建上下间距。margin-top: 20rpx;:增加内容区块的上外边距,以增加上方的间距。display: flex;:将内容区块设置为弹性布局,以便内部元素可以灵活布局。font-size: 26rpx;:设置内容文本的字体大小为26rpx。align-items: center;:设置内容区块内元素的纵向对齐方式为居中对齐。justify-content: space-between;:设置内容区块内元素的横向对齐方式为两侧对齐,左右两侧留有空白空间。
-
.list:break-inside: avoid;:避免在列表项之间分页中断,以确保每个列表项在同一页内显示完整。width: 330rpx;:设置列表项的宽度为330rpx。border: 1px solid #f4f4f4;:给列表项添加1像素宽的实线边框,边框颜色为 #f4f4f4,用于界定列表项的边界。
HTML部分
循环自己获取到的数据,也就是itemList的数据,绑定一个下标循环渲染
<template><view><view class="content"><view class="list" v-for="(item, index) in itemList" :key="index"><image mode="widthFix" :src="item.imageSrc"></image><view class="title">{{ item.title }}</view><view class="con">{{ item.content }}</view></view></view></view>
</template>
完整代码
<template><view><view class="content"><view class="list" v-for="(item, index) in itemList" :key="index"><image mode="widthFix" :src="item.imageSrc"></image><view class="title">{{ item.title }}</view><view class="con">{{ item.content }}</view></view></view></view>
</template><script>
export default {data() {return {itemList: [{imageSrc: 'https://pic.imgdb.cn/item/65084fd3204c2e34d3a96817.jpg',title: '我是标题1',content: '我是内容1',},{imageSrc: 'https://pic.imgdb.cn/item/650850d7204c2e34d3a984ca.jpg',title: '我是标题2',content: '我是内容2',},{imageSrc: 'https://pic.imgdb.cn/item/64eee7e1661c6c8e54a86a07.jpg',title: '我是标题3',content: '我是内容3',},{imageSrc: 'https://pic.imgdb.cn/item/65085109204c2e34d3a9933c.jpg',title: '我是标题4',content: '我是内容4',},{imageSrc: 'https://pic.imgdb.cn/item/65084fd3204c2e34d3a96817.jpg',title: '我是标题5',content: '我是内容5',},],};},onUnload() {},methods: {},
};
</script><style scoped>
.content {padding: 30rpx;box-sizing: border-box;column-count: 2;
}
image {width: 100%;border-radius: 6rpx;
}
.title {margin-left: 15rpx;margin-right: 15rpx;font-size: 30rpx;
}
.con {margin: 15rpx;margin-top: 20rpx;display: flex;font-size: 26rpx;align-items: center;justify-content: space-between;
}
.list {break-inside: avoid;width: 330rpx;border: 1px solid #f4f4f4;
}
</style>
谢谢观看
相关文章:
uniapp瀑布流布局写法
首先我们要清楚瀑布流是什么? 瀑布流布局(Waterfall Flow Layout),也称为瀑布流式布局,是一种常见的网页或移动应用布局方式,特点是元素以不规则的方式排列,就像瀑布中的流水一样,每…...
蓝桥杯 题库 简单 每日十题 day8
01 扫雷 题目描述 在一个n行列的方格图上有一些位置有地雷,另外一些位置为空。 请为每个空位置标一个整数,表示周围八个相邻的方格中有多少个地雷。 输入描述 输入的第一行包含两个整数n,m。 第2行到第n1行每行包含m个整数,相邻整…...
Keepalived 高可用(附带配置实例,联动Nginx和LVS)
Keepalived 一、Keepalived相关知识点概述1.1 单服务的风险(单点故障问题)1.2 一个合格的集群应该具备的特性1.3 VRRP虚拟路由冗余协议1.4 健康检查1.5 ”脑裂“现象 二、Keepalived2.1 Keepalived是什么?2.2 Keepalived体系主要模块及其作用…...
第二证券:今年来港股回购金额超700亿港元 9月近200家公司获增持
本年以来,港股上市公司回购力度不断增强。据恒生指数公司计算,到9月15日,本年以来港股回购金额到达735亿港元,占去年全年总额的70%。该公司预测,2023年港股回购金额可能到达929亿港元,是前5年年度平均水平的…...
Autosar基础——RTE简介
AutoSAR文章目录 AUTomotive Open System Architecture Autosar-简介和历史发展 Autosar-软件架构 Autosar软件组件-Application Layer介绍和SWC(Software Component)类型 Autosar-Runnables(可运行实体) Autosar-OS配置 Autosar IOC机制(核间通信) Autosar实践-CANTp Auto…...
几个国内可用的强大的GPT工具
前言: 人工智能发布至今,过去了九个多月,已经成为了我们不管是工作还是生活中一个重要的辅助工具,大大提升了效率,作为一个人工智能的自然语言处理工具,它给各大行业的提供了一个巨大的生产工具,…...
《Python等级考试(1~6级)历届真题解析》专栏总目录
❤️ 专栏名称:《Python等级考试(1~6级)历届真题解析》 🌸 专栏介绍:中国电子学会《全国青少年软件编程等级考试》Python编程(1~6级)历届真题解析。 🚀 订阅专栏:订阅后可…...
在IntelliJ IDEA 中安装阿里P3C以及使用指南
在IntelliJ IDEA 中安装阿里P3C以及使用指南 1.关于阿里p3c1.1说明1.2什么是P3C插件1.3p3c的作用是什么 2 如何在IDEA中安装p3c2.1 插件安装2.2 插件使用 3.参考连接 1.关于阿里p3c 1.1说明 代码规范检查插件P3C,是根据《阿里巴巴java开发手册(黄山版)》转化而成的…...
Java集成支付宝沙箱支付,详细教程(SpringBoot完整版)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、开发前准备?二、使用步骤1、引入库2、配置在 application.yml 里面进行配置:3、alipay的java配置:AplipayConfig.java4、支付…...
详解Nacos和Eureka的区别
文章目录 Eureka是什么Nacos是什么Nacos的实现原理 Nacos和Eureka的区别CAP理论连接方式服务异常剔除操作实例方式自我保护机制 Eureka是什么 Eureka 是Spring Cloud 微服务框架默认的也是推荐的服务注册中心, 由Netflix公司与2012将其开源出来,Eureka基于REST服务开发,主要用…...
在Vue中实现组件间的通信(父子通信,非父子通信,通用通信)
在vue中实现组件间的通信 文章目录 在vue中实现组件间的通信1、组件通信1.1、不同的组件关系和组件通信方案分类1.2、组件通信的解决方案1.3、非父子通信- event bus事件总线 2、prop2.1、prop详解2.2、prop校验2.3、prop & data、单向数据流 3、v-mdoel原理 1、组件通信 …...
LLaMA参数微调方法
1.Adapter Tuning:嵌入在transformer中 新增了一个名为adapter的结构,其核心思想是保持模型其他原始参数不变,只改变adapter的参数,其结构如下图所示: 1.在每一个transformer模块最后都加入一层adapter。 2.adapter首…...
NSSCTF之Misc篇刷题记录(17)
NSSCTF之Misc篇刷题记录(17) [闽盾杯 2021]DNS协议分析[GFCTF 2021]pikapikapika NSSCTF平台:https://www.nssctf.cn/ PS:所有FLAG改为NSSCTF [闽盾杯 2021]DNS协议分析 数据包提示给得是DNS数据包 直接过滤一下 发现 数据里面存…...
红与黑(bfs + dfs 解法)(算法图论基础入门)
红与黑问题 文章目录 红与黑问题前言问题描述bfs 解法dfs 解法 前言 献给阿尔吉侬的花束( 入门级bfs查找 模版解读 错误示范 在之前的博客当中,详细地介绍了这类题目的解法,今天为大家带来一道类似的题目练练手,后续还会更新更有挑战的题目…...
为何学linux及用处
目前企业使用的操作系统无非就是国产类的,windows和linux类。我们要提升自己的技能,需要学习这两款。我记得在大学时期,学习过windows以及linux,但当时觉得又不常用,就学的模棱两可。毕业之后,你会发现&…...
ChatGPT高级数据分析功能
目录 只需上传数据集,系统即可自动进行分析。我们首先进行了一次测试。准备了一份关于二手车的数据,其格式如下: 接下来调用,GPT中的高级数据分析功能,上传数据,并要求进行分析 第一步:自动对数据字段进行详细的解释: 第二步,对数据进行预处理,比如缺失值,基本的…...
共享WiFi贴项目怎么实施与运营,微火为你提供高效解答!
共享WiFi贴是一项有前景的商业项目,不仅可以满足用户对网络的需求,还可以为创业者带来盈利的机会。那么,我们来看看如何有效地开展共享WiFi贴项目。 最重要的是选择合适的位置。共享WiFi贴项目的成功与否很大程度上取决于位置选择。优先选择人…...
计算机组成原理——基础入门总结(二)
上一期的路径:基础入门总结(一) 目录 一.输入输出系统和IO控制方式 二.存储系统的基本概念 三.cache的基本概念和原理 四.CPU的功能和基本结构 五.总线概述 一.输入输出系统和IO控制方式 IO设备又可以被统一称为外部设备~ IO接口&…...
腾讯mini项目-【指标监控服务重构】2023-08-06
今日已办 feature/client_traces_profile 修改 consumer 4个阶段的 spankind将 profile 的 span 作为 root span,保持与 venus 的 follows from 的 link feature/profile-otelclient-metric 将 metric 部分使用新分支 push go.opentelemetry.io/otel/propagatio…...
ruoyi菜单折叠,菜单收缩
问题描述 VUE菜单有一个BUG,当我们点击其它按钮或者首页的时候,已经展示的一级菜单是不会自动收缩的。这个问题也导致很多开发者把一级菜单都换成了二级菜单。 错误展示 错误的效果请看下图。 解决方法 1、寻找菜单文件 因为我使用的是ruoyi的前端框…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
