手撸瀑布流

news2024/9/19 11:52:22

一、需求?

要求实现 一排两列 瀑布流样式,样式如下:其中A为容器,B为组件样式,卡片高度会因为标题的多少来自适应。
在这里插入图片描述

二、解法

1.使用CSS的column(⚠️不推荐)

使用CSS 属性 column 用来设置元素的列宽和列数

/* 一个元素的内容分成2列 */
column-count: 2
/* 设置元素列之间的间隔(gutter)大小 */
column-gap: 20px;

不足

若B组件有margin (上下marign) ,将导致第一排样式对不齐,类似下图:
在这里插入图片描述

解决

此时可以在B组件下,写一个div的高度当作margin去使用,此时样式将会正确排列。
举个🌰子;在B组件下,添加一个div,类名为placeholder,平替margin-bottom:18px。

.placeholder {
  height: 18px;
}

2.使用flex布局

前提

第一反应是直接flex布局,flex: 0 0 50%,超出的换行展示,干不就完了?但是由于这样写,每行的高度一致,不符合需求
在这里插入图片描述

换个思路?

既然高度不能对齐,就不考虑横向排列,变为竖向排列。
将父容器A,拆分为B、C两个子容器,其宽度仍为每个50%,B/C容器中,组件竖向排列,这样处理时,样式问题已经解决了,但是展示顺序需要重新处理。
在这里插入图片描述

顺序展示问题

按元素正常排列规则为第一行1、2,第二行3、4,按上图应为,B容器为1、3、4,C容器为2,4;总结下来:即B为奇数行,C为偶数行。下面用数据更清晰的说明~
在这里插入图片描述

举个🌰

假设数据如下

const list = [1,2,3,4,5]
// 过滤出单数
const oddNumbers = list.filter(num => num % 2 !== 0);
// 过滤出双数
const evenNumbers = list.filter(num => num % 2 === 0);

数据展示如下:

 <div className={styles.list}>
   <div className={styles.column}>
      {renderItem(oddColumns)}
   </div>
    <div className={styles.column}>
      {renderItem(evenColumns)}
    </div>
</div>

 .list {
    display: flex;
    justify-content: space-between;
    margin: 0 17px;

    .column {
      display: flex;
      flex-direction: column;
    }
  }

总结

打完收工~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2098114.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

朋友们!pinterest视频保存教学给你们做出来啦

有没有在为pinterest视频无法下载而烦恼的小伙伴呀&#xff1f;我反正是被这个困扰好久了&#xff0c;每每看到喜欢的视频素材不能下载&#xff0c;真的很捉急&#xff01;最近发现了这款神器&#xff0c;就是之前给大家推荐【水印抹布】app可以完美解决pinterest视频保存的问题…

Vue2与Vue3区别以及兼容那些浏览器酌情使用

一、vue2与vue3区别 vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。 项目地址:https://gitcode.com/gh_mirrors/vu/vue 免费下载资源 1.根节点不同 vue2中必须要有根标签vue3中可以没…

pod进阶:

pod进阶&#xff1a; pod的生命周期当中的状态&#xff1a; 1、Running 运行中&#xff0c;pod已经分配到节点上&#xff0c;且pod内的容器正常运行。正常状态&#xff08;ready 1/1&#xff09; 2、complete 完成之后退出&#xff0c;容器内的返回码是0 echo $? 表示容器是…

基于Easy-Wav2lip-Gradio的AI数字人

数字人技术近年来在多个领域得到广泛应用,从虚拟主播到电影特效,都需要精确的音视频同步技术来实现逼真的效果。传统的嘴型同步技术往往面临着准确性不高、处理速度慢等问题。为了解决这些问题,原有的Wav2Lip项目应运而生。Wav2Lip通过人工智能技术,实现了音频和视频的高精…

从LED硬件控制流程认识Android架构!

0.Android架构图 一上来就是一张框架图&#xff0c;发明了框架图的天才真是个天才&#xff01; 简单点评一下&#xff1a; 1.对于安卓应用开发来说&#xff1a;App层以下都是操作系统&#xff0c;反正我只关心Android Studio&#xff08;其实是SDK&#xff09;给我什么包&…

字节-人工智能编辑代码方向面试-题目记录

问的都是自己简历里写的&#xff01;不会就不要写 简述一下几个排序算法 二分查找的时间复杂度&#xff08;是O&#xff08;log2n&#xff09;!!!&#xff09; find函数和count函数的时间复杂度都是O&#xff08;n&#xff09;&#xff0c;因为都是遍历整个数组来找的&#x…

Ubuntu Linux Server安装Kubernetes

本文主要描述在Ubuntu Linux Server操作系统中安装Kubernetes云原生对应的microk8s组件。 sudo snap install microk8s --classic 如上所示&#xff0c;在Ubuntu服务器中安装microk8s组件完成&#xff0c;对应的版本是microk8s v1.30版本 microk8s enable dashboard 如上所…

Java小白一文讲清Java中集合相关的知识点(二)

List List接口和常用方法 基本介绍 List接口是Collection接口的子接口 List集合类中的元素有序–即添加顺序和取出顺序一致、且可重复 public class Journey {SuppressWarnings({"all"})public static void main(String[] args) {List list new ArrayList();li…

基于Video-Retalking-Gradio的AI数字人

随着数字内容的普及,如何在视频中实现高精度的音频与唇形同步成为一个重要课题。传统方法通常需要大量的人工干预和调整,效果也往往不尽如人意。为了应对这一挑战,VideoReTalking 系统应运而生。由西安电子科技大学和腾讯AI实验室的研究人员联合开发,VideoReTalking 是一个…

【微信小程序】微信小程序如何使用 MobX 进行状态管理?

微信小程序官方在 2019 年针对小程序发布了 MobX 辅助绑定库&#xff0c;可以让我们在微信小程序中使用 Mobx 进行状态管理&#xff1a; mobx-miniprogram&#xff1a;相当于 MobX&#xff1b;mobx-miniprogram-bindings&#xff1a;针对小程序的 MobX 辅助绑定库&#xff0c;…

【全志H616】【开源】 ARM-Linux 智能分拣项目:阿里云、网络编程、图像识别

【全志H616】【开源】 ARM-Linux 智能分拣项目&#xff1a;阿里云、网络编程、图像识 文章目录 【全志H616】【开源】 ARM-Linux 智能分拣项目&#xff1a;阿里云、网络编程、图像识1、实现功能2、软件及所需环境3、逻辑流程图及简述3.1 完整逻辑流程图3.2 硬件接线3.3 功能简述…

【TomCat】安装部署

首先得进行Java的安装和部署java1.8对应tomcat9 TomCat下载Apache Tomcat - Apache Tomcat 10 Software Downloads

Vue(四) 组件、单文件组件、非单文件组件,重要的内置关系

文章目录 1. 组件2. 非单文件组件2.1 定义组件2.2 注册组件2.3 使用组件2.4 组件命名、标签等注意点2.5 组件嵌套2.6 VueComponent构造&#xff08;这部分看视频更易理解&#xff09;2.7 内置关系 3. 单文件组件 1. 组件 组件是实现局部功能代码和资源的集合 传统方式&#x…

unreal engine5.4.3动画重定向

UE5系列文章目录 文章目录 UE5系列文章目录前言 前言 ue5.4和ue3动画重定向之间存在差异&#xff0c;跟ue5.2差别更大一点&#xff0c;总之ue5.4越来越简化动画重定向&#xff0c;不想之前还需要制作RTG文件 这是ue5.3.2的制作动画重定向的界面 这是ue5.4.2的制作动画重定向…

华芯邦获AEC-Q车规级系列认证与AQG324认证的双重背书,碳化硅SiC-MOSFET半导体功率器件器件已在重点头部新能源汽车厂商模块验证中。

在获得AEC-Q车规级系列认证与AQG324认证的双重背书后&#xff0c;华芯邦的碳化硅SiC-MOSFET器件不仅巩固了其在新能源汽车领域的领先地位&#xff0c;更进一步加速了其在全球汽车供应链中的深度布局。这款车规级产品凭借其卓越的耐高温、低导通电阻及高开关频率等特性&#xff…

kubernetes里面那些事——————OpenEBS

OpenEBS存储 一&#xff0c;OpenEBS简介二&#xff0c;卷类型三&#xff0c;本地卷存储引擎类型四&#xff0c;复制卷存储引擎类型&#xff08;副本卷&#xff09;4.1 复制卷实现原理4.2 复制卷的优势 五&#xff0c;openebs存储引擎技术选型六&#xff0c;k8s中部署openebs服务…

项目延期,怎么有效调整计划,追赶进度

在项目管理过程中&#xff0c;项目延期是一个令人头疼但又无法完全避免的问题。无论是由内部因素还是外部因素导致&#xff0c;都会对项目的整体进度、成本和质量产生影响。 面对延期&#xff0c;关键在于如何迅速而有效地调整项目计划&#xff0c;以确保项目能够尽快回到正轨…

新版IDEA配置前进和后退、打开资源管理器等快捷按钮

新版IDEA&#xff0c;好像是IDEA2024版本开始就默认隐藏了工具条&#xff0c;这时一些很常用的快捷按钮&#xff0c;如前进、后退、打开资源管理器就无法使用。这里图文介绍&#xff0c;如何把这些配置出来。 具体操作如下&#xff1a; 1、选择 File / Settings(windows版)&am…

关于contextmenu-ui组件库

关于这个组件库把&#xff0c;主要用在个人博客制作中&#xff0c;而且由于作者很懒&#xff0c;已经一个多月没有更新了&#xff0c;甚至第二次更新都忘了修改md文件了。 这个组件库是使用vue3和TS来写的&#xff0c;关于引用&#xff0c;看这里 都有介绍的&#xff0c;直接…

计算机网络(八股文)

这里写目录标题 计算机网络一、网络分层模型1. TCP/IP四层架构和OSI七层架构⭐️⭐️⭐️⭐️⭐️2. 为什么网络要分层&#xff1f;⭐️⭐️⭐️3. 各层都有那些协议&#xff1f;⭐️⭐️⭐️⭐️ 二、HTTP【重要】1. http状态码&#xff1f;⭐️⭐️⭐️2. 从输入URL到页面展示…