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

相关推荐

  • 我来分享如何让img在div中垂直居中「img垂直居中对齐」。

    图片水平垂直居中的四种方法 1、打开Excel,在一个单元格中插入一张图片。调整图片的大小放在一个单元格里。点击图片,右键选择“设置图片格式”。 2、按住ctrl键选中两个层,这是工具栏下方会出现左对齐右对齐或者居…

    2024年6月28日
    00
  • 我来分享p标签首行缩进2字符怎么设置。

    在HTML中,“标签用于定义段落,如果你希望设置“标签的首行缩进为2个字符,你可以使用CSS的`text-indent`属性来实现,下面是详细的步骤: 1. 你需要创建一个CSS样式表或者直接在HTML文件的“部分添…

    2024年6月18日
    01
  • 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自学教程
    0516
  • 教你css表格样式大全。

    CSS表格样式是网页开发中的一个重要组成部分,它可以帮助我们创建美观、易读的表格,本文将介绍CSS表格样式的基本知识,包括表格边框、单元格间距、对齐方式等,并通过实例演示如何使用CSS实现这些效果。 我们需要…

    2024年6月20日
    00
  • 今日分享网站使用css布局有哪些好处和坏处。

    网站使用CSS布局的好处 随着互联网技术的不断发展,网站的设计和开发变得越来越重要,在这个过程中,CSS布局成为了网站设计的主流技术,CSS(Cascading Style Sheets,层叠样式表)是一种用于描述网页外观和格式的…

    2024年7月24日
    00
  • 小编分享怎么查看css冲突,css冲突怎么解决的问题。

    CSS冲突是指在网页开发过程中,由于多个样式表或者样式规则的相互影响,导致页面元素的样式表现不一致的现象,这种现象可能会使得页面的布局和设计变得混乱,影响用户体验,本文将介绍如何查看和解决CSS冲突,以及…

    2024年7月4日
    00
  • 说说如何建立单页网站链接。

    一、什么是单页网站? 单页网站,顾名思义,是指所有内容都展示在一个网页上的网站,与传统的多页网站相比,单页网站具有简洁明了、加载速度快、用户体验好等优点,由于其将所有内容集中在一个页面上,因此在功能扩…

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

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

    2018年4月27日 css自学教程
    0429

联系我们

QQ:951076433

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