css实现多列布局的实践

今天给大家安利的是一个多列布局的实践 :Columns ,特别简单,用到的属性是 column-count,column-width,column-gap 为什么会用到 Columns 场景是因为只想在手机上显示两栏,每一个.item都是从后台动态获取 然后遍历出来 渲染到页面

布局如图:

css实现多列布局的实践

概念解释:

column-width:[<length> | auto]  中括号里边<length>长度单位; auto是默认值 由浏览器决定列宽;

column-count:auto | 整数  auto由其他属性决定列数,比如 "column-width";

column-gap:normal | <length> normal 为默认值,默值为1em(如果你的字号是px伫值,其默认值为你的font-size值);length 设置列与列之间的距离。

理解完概念之后上代码:

HTML:

 

 

占位图 1

 

占位图 2

 

占位图 3

 

占位图 4

 

占位图 5

 

占位图 6

 

 

 

CSS:

*{
        margin:0;
    }
    .wrapper{
        padding:10px;
    }
    .inner_wrapper{
        column-count: 2;
        column-width:100px;
        column-gap: 10px;
    }
    .item{
        position: relative;
    }
    .count{
        position: absolute;
        bottom: 4px;
        text-align: center;
        background:rgba(47, 37, 37, 0.5);
        display: inline-block;
        width: 100%;
        color: #fff;
    }
    img{
        width: 100%
    }

运行完就会得到上图的结果,设置 column-count: 2;  column-width:100px;  column-gap: 10px; 是核心点,需要注意的一点是:column-count的值大于2时 inner_wrapper的宽度 column-width*column-count + padding*2 + margin*2 + column-gap*(column-count-1) 时 本来很简单的东西被这个公式写完之后有点乱了,没关系,看个动图: 为了方便讲解我本地设置column-count: 3时的效果,右上角340px是一个边界,小于340px时会变两列;

css实现多列布局的实践

因为当 column-count: 2 设置为2 时。变成单列时有一个区间值,而不是一个特定的值

看图:

css实现多列布局的实践

以上,但是不影响布局效果的实现,多栏布局其实也可以做到响应式的效果

运行完就会得到上图的结果,设置 column-count: 2; column-width:100px; column-gap: 10px; 是核心点,需要注意的一点是:column-count的值大于2时 inner_wrapper的宽度 < column-width*column-count + padding*2 + margin*2 + column-gap*(column-count-1) 时 本来很简单的东西被这个公式写完之后有点乱了,没关系,看个动图: 为了方便讲解我本地设置column-count: 3时的效果,右上角340px是一个边界,小于340px时会变两列;

因为当 column-count: 2 设置为2 时。变成单列时有一个区间值,而不是一个特定的值
看图:

以上,但是不影响布局效果的实现,多栏布局其实也可以做到响应式的效果

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/4458.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
重蔚的头像重蔚管理团队
上一篇 2018年2月27日 09:37
下一篇 2018年2月28日 09:48

相关推荐

  • 经验分享html如何填充背景图。

    在HTML中,可以使用CSS(层叠样式表)来填充背景图,以下是详细步骤: (图片来源网络,侵删) 1、你需要准备一张你想要作为背景的图片,确保图片的尺寸适合你的网页设计,并且图片的文件格式是浏览器支持的,如.jp…

    2024年6月25日
    06
  • 学会DIV+CSS布局是否有利于找工作?

    学习了CSS布局,不会程序开发依然可以建设属于自己网站,买卖产品、装修装修淘宝均可。 可以找到什么工作呢? 1、后台开发程序员: 很多网络公司都要求程序员会CSS、熟悉CSS甚至精通CSS技术; 2、网页美工设计师: …

    2015年12月1日
    0225
  • css设置宽度,html标签怎么使用CSS设置宽度。

    在网页设计中,CSS(层叠样式表)是一种用于描述HTML元素在屏幕上如何显示的语言,通过使用CSS,我们可以控制HTML元素的布局、颜色、字体等属性,设置宽度是CSS中一个非常常见的操作,本文将详细介绍如何使用CSS为H…

    2024年6月28日
    05
  • css+div布局学习步骤?

    认清目的 首先要认识为什么要学习CSS,知道学习CSS目的是什么。 认识学习目的才能坚持持之以恒、认识学习目的才有目的性从中得到乐趣和享受! 基础学习 1、了解CSS作用是什么? 2、css基础知识 3、了解常用css属性…

    2017年12月19日
    0415
  • 小编分享css图片轮播怎么做。

    在网页设计中,图片轮播是一种常见的展示方式,它可以有效地吸引用户的注意力,提高用户的浏览体验,下面我将详细介绍如何使用CSS制作图片轮播。 我们需要创建一个HTML结构来放置我们的图片,这个结构通常包括一个…

    2024年7月2日
    00
  • 经验分享css中的flex布局。

    Flex布局是CSS的一个重点应用。它可以简便、完整、响应式地实现各种页面布局。Flex布局的目标是提供一个更有效地布局、对齐方式,并且能够使父元素在子元素的大小未知或动态变化情况下仍然能够分配好子元素之间的间…

    2024年7月18日
    01
  • css层叠样式表flex弹性盒模型

    1. 简介 Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定Flex布局. 采用Flex布局的元素,称为Flex容器(flex container),简称”容器”.它的所有子元素自动称为容器成…

    2018年4月27日 css自学教程
    0440
  • 教你html css怎么写。

    在HTML中编写CSS有几种方法,以下是一些常见的方法: (图片来源网络,侵删) 1、内联样式(Inline Styles) 内联样式是将CSS代码直接写在HTML元素的"style"属性中,这种方法的优点是可以直接修改元素的…

    2024年6月24日
    04

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息