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中怎样使背景图片的大小随页面文字的多少而变化(自适应… 并使用`background-size: contain;`将图片缩放以适应背景容器。我们还使用`width: 100%;`来确保背景容器填充其父元素的宽度,这样文本就会…

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

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

    2024年6月18日
    02
  • css涉及的英语单词!

    Css(cascading  style sheet)  (级联样式表) a:active 单击鼠标左键 italic(倾斜) word-spacing  单词和单词之间的距离 underline下划线    Font-size文字的大小 Background-color:背景颜色 Background-attachm…

    2018年4月28日
    0373
  • 说说css怎么设置背景宽,Css怎么设置背景图像。

    在CSS中,我们可以使用不同的属性来设置背景的宽度和图像,下面将详细介绍如何设置背景宽度和背景图像。 1. 设置背景宽度: 要设置背景宽度,可以使用`background-size`属性,该属性用于指定背景图像的宽度和高度,…

    2024年6月28日
    00
  • 小编教你html 中如何使块居中显示。

    在HTML中,有多种方法可以使块级元素居中显示,这里将详细介绍几种常用的技术手段: (图片来源网络,侵删) 1. 使用CSS的margin属性 通过设置左右外边距(margin)为自动(auto),可以使得块级元素在水平方向上居…

    2024年6月26日
    01
  • 我来教你html如何设置表单对齐。

    在HTML中,可以使用CSS样式来设置表单的对齐,以下是一些常用的方法: (图片来源网络,侵删) 1、使用textalign属性: 小标题:设置文本对齐方式 单元表格:设置单元格内文本的对齐方式 2、使用margin和padding属…

    2024年6月25日
    07
  • DIV+CSS虚线边框|CSS虚线下划线及虚线列表教程

    CSS边框虚线 这里通过边框属性的虚线边框border控制虚线。以下设置的css 高度(css height)和css 宽度(css width)为350像素是为了便于观看演示 其它意思。 边为虚线边框 border:1px dashed #000; 黑色虚线边框 实…

    2017年11月17日
    0237
  • 为什么要学习CSS+DIV技术?

    首先要问人为什么要学习,为什么要有一技之长?答:时代不断变化各行各业日新月异不学习就会很快落后,活到老学到老,人要有一技之长,技为安身立命之根本。 学习CSS+DIV技术,可以让你认识互联网,认识我们每天接…

    2015年12月1日
    0283

联系我们

QQ:951076433

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