iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >CSS中怎么实现多行多列布局
  • 256
分享到

CSS中怎么实现多行多列布局

2024-04-02 19:04:59 256人浏览 泡泡鱼
摘要

本篇文章为大家展示了CSS中怎么实现多行多列布局,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。方案一:标签补位我们都知道,之所以对不齐是因为最后一行的子项目没有达到

本篇文章为大家展示了CSS中怎么实现多行多列布局,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

方案一:标签补位
我们都知道,之所以对不齐是因为最后一行的子项目没有达到4个,space-between的对齐方式,自然会把中间空出来。既然如此,何不直接补位,让元素排满4个。

<!-- 样式 --> <style>     .list{         display: flex;         justify-content: space-between;         flex-wrap: wrap;     }     .item{                  flex: 0 0 24%;         height: 100px;         background-color: aqua;         margin-bottom: 10px;     }     .item-fill{         flex: 0 0 24%;         height:0;     }          .list .item:nth-last-child(-n+4){         margin-bottom: 0;     } </style>  <!-- html --> <div class="list">     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>      <div class="item-fill"></div>     <div class="item-fill"></div>     <div class="item-fill"></div> </div>

效果如下:

CSS中怎么实现多行多列布局

如果子元素个数不是4个怎么办?我们细心观察,不难发现,最后一行的最小值是1个,那么我们只需要补位n-1个即可。如果只有3个,也可以用伪元素::after去补最后一个位置。

方案二:计算剩余空间
如果我们知道最后一行剩余空间的话,完全可以控制最后一个元素的边距或者缩放比例去占满剩下的空间,自然就能左对齐了。要做到这一点,首先得确定宽度和边距,宽度通常是已知的,我们只需要把边距确定下来,就能确认剩余空间。

接上面的的例子,假设一行有4个, 每个占比24%,4个就是24% * 4 = 96% , 那么可以确定总边距是4%,由于一行有4个元素,而最后一个的右边距是多余的,那么可以确定单个的边距为 4% / 3 = 1.333% , 计算出来后就可以开始写代码了:

<!-- css --> <style>     .list{         display: flex;         justify-content: space-between;         flex-wrap: wrap;     }     .item{         flex: 0 0 24%;         height: 100px;         background-color: aqua;                  margin-right: calc(4% / 3);         margin-bottom: calc(4% / 3);     }          .item:nth-child(4n){         margin-right: 0;     }          .item:last-child{         margin-right: auto;     }               .list .item:nth-last-child(-n+4){         margin-bottom: 0;     } </style> <!-- html --> <div class="list">     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div> </div>

效果如下:

CSS中怎么实现多行多列布局

可能有些小伙伴觉得懒得记,那么下面直接给出封装好的sass mixin, 复制即可使用:

 @mixin grid($count:4, $itemWidth:20, $itemHeight:auto) {     $rest: 100 - $itemWidth * $count; // 剩余空间     $space: percentage($rest/($count - 1)/100); // 边距     display: flex;     flex-wrap: wrap;           & > * {         flex: 0 0 #{$itemWidth + '%'};         height: $itemHeight;         margin-right: $space;         margin-bottom: $space;         box-sizing: border-box;          &:nth-child(#{$count}n) {             margin-right: 0;         }          &:nth-last-child(-n + #{$count}) {             margin-bottom: 0;         }                   &:last-child {             margin-right: auto;         }     } }   .list{          @include grid(4,20) }

以上为flex版本,假如你需要兼容ie浏览器,那么可以用float布局替换,float自动左对齐,也就不需要填充最后的剩余空间了。

方案三:网格布局
网格布局,默认就是左对齐,即使使用space-between。

<style>     .list {         display: grid;         justify-content: space-between;         grid-template-columns: 1fr 1fr 1fr 1fr;          gap: 10px;      }     .item{         background-color: aqua;         height: 100px;     } </style>  <!-- html --> <div class="list">     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div>     <div class="item"></div> </div>

效果如下:

CSS中怎么实现多行多列布局

上面的三个方案各有各的好处:


  1. 方案一的缺点是实现不够优雅,需要增加无用的占位标签。

  2. 方案二倒没什么缺点,除了写法会复杂点,但只要封装好mixin在sass中使用足够简单,即使需要兼容ie,也只需要换成float即可。

  3. 方案三,兼容性最差,无法在ie中正常使用,但用法最简单,布局甚至比flex还要强大。

上述内容就是CSS中怎么实现多行多列布局,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网html频道。

--结束END--

本文标题: CSS中怎么实现多行多列布局

本文链接: https://www.lsjlt.com/news/72625.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS中怎么实现多行多列布局
    本篇文章为大家展示了CSS中怎么实现多行多列布局,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。方案一:标签补位我们都知道,之所以对不齐是因为最后一行的子项目没有达到...
    99+
    2024-04-02
  • 怎么在css中实现多列布局
    怎么在css中实现多列布局?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一. 定宽 + 自适应期望效果: 左侧宽度固定, 右侧宽度自适应公共代码: html:&...
    99+
    2023-06-08
  • css实现flex多列布局
    今天就跟大家聊聊有关css实现flex多列布局,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。基本的等分三列布局.container{    &...
    99+
    2023-06-08
  • 怎么使用CSS实现多列布局
    这篇“怎么使用CSS实现多列布局”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用CS...
    99+
    2024-04-02
  • CSS多列布局的实现方法
    本篇内容主要讲解“CSS多列布局的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS多列布局的实现方法”吧!摘要:  多列布局在网站应用中也是经常见到...
    99+
    2024-04-02
  • css3多列布局怎么实现
    本篇内容主要讲解“css3多列布局怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css3多列布局怎么实现”吧!     colum...
    99+
    2024-04-02
  • CSS如何实现多列等高布局
    这篇文章给大家分享的是有关CSS如何实现多列等高布局的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、引言我们在写页面的时候,有的时候会遇到多栏布局,每个栏目里面的内容有的时候可能不一样,这样就会导致每个栏目实际...
    99+
    2023-06-08
  • css代码如何实现多列布局
    这篇文章主要介绍“css代码如何实现多列布局”,在日常操作中,相信很多人在css代码如何实现多列布局问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css代码如何实现多列布局”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-05
  • CSS Positions布局实现多列等高布局的方法
    在网页开发中,实现多列等高布局是一个常见的需求。传统的方法是使用JavaScript来实现,但是这种方法存在兼容性和性能问题。现在我们可以通过使用CSS Positions布局来实现多列等高布局,不仅简单易用,而且效果良好。实现多列等高布局...
    99+
    2023-10-21
    CSS 布局 Positions
  • Android自定义RadioGroupX实现多行多列布局
    前言 今天在做新需求的时候,活动有多个类型可以选择,UI给的设计图为多行多列排版,且单项选择,细细想来,谷歌并没有为我们提供类似的控件,初步设想使用RecyclerView实现多行多...
    99+
    2024-04-02
  • 怎么用CSS3实现多列布局与多背景
    这篇文章主要讲解了“怎么用CSS3实现多列布局与多背景”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用CSS3实现多列布局与多背景”吧!多列布局CSS多...
    99+
    2024-04-02
  • 怎么使用css3实现多列布局
    这篇文章主要介绍了怎么使用css3实现多列布局的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用css3实现多列布局文章都会有所收获,下面我们一起来看看吧。具体使用示例:首先创建一个html文件。在html...
    99+
    2023-07-04
  • 怎么在css中设置多列等高布局
    这期内容当中小编将会给大家带来有关怎么在css中设置多列等高布局,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 真实等高布局flex 技术点:弹性盒子布局flex,默认值就是自带等高布局的特点。定义f...
    99+
    2023-06-08
  • CSS中怎么实现两列布局
    CSS中怎么实现两列布局,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. absolute + margin 方式首先想到的...
    99+
    2024-04-02
  • css3如何实现多列布局
    css3实现多列布局的方法:通过columns属性实现多列布局,不管你想让一段文本呈多少列显示,只需要设置这两个属性:column-count 和 column-width,其中column-count属性设置列的具体个数,column-w...
    99+
    2024-04-02
  • css怎么实现三列布局
    这篇文章主要介绍css怎么实现三列布局,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css实现三列布局的方法:1、float浮动布局;2、绝对定位布局;3、flexbox弹性布局,存在IE上兼容性问题,只能支持IE9...
    99+
    2023-06-15
  • 如何使用CSS实现自适应的多列布局
    随着移动设备的普及,越来越多的网站需要适应不同屏幕尺寸。使用CSS实现自适应的多列布局是一个重要的技巧,可以让你的网站在各种设备上都能够展现良好的效果。本文将介绍如何使用CSS实现自适应的多列布局,并给出具体的代码示例。一、使用Flexbo...
    99+
    2023-10-21
    自适应布局 CSS布局 多列布局
  • css3多列布局columns怎么用
    这篇文章将为大家详细讲解有关css3多列布局columns怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在css3中,多列布局colu...
    99+
    2024-04-02
  • oracle多行转多列怎么实现
    在Oracle中,可以使用PIVOT函数将多行数据转换为多列数据。以下是一个示例: 假设有一个名为sales的表,包含以下数据: ...
    99+
    2024-04-22
    oracle
  • mysql多行变多列怎么实现
    在MySQL中,可以使用GROUP_CONCAT函数将多行数据合并为一行,并将其拆分为多列。 例如,有以下数据表: +----+--...
    99+
    2024-04-09
    mysql
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作