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

相关推荐

  • 每个网站设计师都应该知道的20个基本的CSS技巧。

    此篇文章是给初学者网站设计师的,一旦网站设计师了解了box模型是如何工作的,以及如何浮动这些框的,那么网站设计师与前端工程师合作起来就会非常顺畅了。为此,我们收集了大量的技巧来帮助你构建你想要的设计。1…

    2023年2月14日 SEO操作
    09
  • 背景设置与盒子模型问题集锦

    宽(width)高(height)度设置: 1、 行内元素与块元素的区别 宽高度设置对于有些行内元素无效;图片、表格有效;网页中使用的图片比较多,建议控制图片宽高度,以便控制显示内容大小(图片会缩放,最好按等比例来设置…

    2017年10月25日
    0328
  • 我来分享html css设置字体大小。

    CSS是一种用于描述HTML文档样式的语言,它允许我们轻松地调整字体大小,在CSS中,我们可以使用`font-size`属性来设置字体大小,以下是关于如何使用CSS调整字体大小以及如何在HTML中设置字体大小的详细解答。 CSS如…

    2024年6月14日
    01
  • web前端设计表格布局和div+CSS布局。

    发展过程 上个世纪Web开发人员流行使用表格进行文档整体布局。因为当时大部分浏览器不支持CSS,而且大部分人不会CSS,且没有文档拆分设计,致使文档臃肿,到了上个世纪末大部分没有相关背景的人进入,对于那些没有…

    2022年7月4日 建站资讯
    0338
  • 说说css按钮点击效果。

    CSS按钮点击效果是网页开发中常见的需求,可以通过CSS样式和JavaScript事件来实现,下面将详细介绍如何使用CSS和JavaScript创建一个简单的按钮点击效果。 我们需要定义一个HTML按钮元素: <button class="m…

    2024年6月18日
    00
  • css文字上下居中怎么弄。

    段落还是其他文本元素,我们都希望能够让它们在页面上垂直居中显示,CSS提供了多种方法来实现文字的上下居中,下面将介绍几种常用的方法。 1. 使用line-height属性: line-height属性用于设置行高,它可以用来控制…

    2024年6月28日
    07
  • 我来分享css怎么设置阴影效果图。

    CSS阴影效果是CSS3新增的一个非常实用的功能,它可以为元素添加立体感和深度,使得页面更加美观,本文将详细介绍如何使用CSS设置阴影效果,包括内阴影、外阴影、线性阴影和径向阴影等。 一、内阴影(Inset Shadow) …

    2024年6月15日
    02
  • css层叠样式表flex弹性盒模型(下)

    前言 本次主要讲的是flex弹性盒模型中项目的相关属性,容器的属性相关内容可以查看https://www.cwhello.com/6477.html 以下6个属性设置在项目上。 order flex-grow flex-shrink flex-basis flex align-self  order属…

    2018年4月28日 css自学教程
    0524

联系我们

QQ:951076433

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