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

相关推荐

  • css涉及的英语单词!

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

    2018年4月28日
    0366
  • 使用css的border属性实现三角形

    使用css的border属性实现三角形 1. border使用方法 2. border 三角形 2.1. 三角形原理,我们来看一个普通的底部边框 2.2. 我们在右边添加一个边框,细心留意两个border的交界就是一个斜线 2.3. 我们在左边边添加...

    2018年5月7日 css自学教程
    0576
  • 用CSS做酷炫的边界半径功能。

    如何使用很少使用的功能创建非常酷的效果?TL/DR:当您使用CSS中指定边框半径的8个值时,可以创建外观有机的形状。在今年的前端会议上,苏黎世的Rachel Andrew谈到了如何打开CSS网格布局的力量。在她演讲的最后,...

    2023年2月15日 SEO操作
    04
  • web前端设计表格布局和div+CSS布局。

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

    2022年7月4日 建站资讯
    0327
  • css样式不仅影响搜索引擎页面展现位置还影响蜘蛛抓取频率。

    虽然用外表来判断一个人不是顾客的判断,但有时的确会给人留下良好的印象。网站也是一样的。内容是王者,这是我们不能忽视的价值。但外部视觉体验也是用户体验的参考因素。因此,SEO人员必须注意CSS风格,这使得...

    2023年2月18日
    01
  • 2019年网站开发的八大趋势。

    熟悉前端开发的人应该都知道,最近几年,各种前端框架层出不从,H5开发模式也越来越流行,大前端时代也已经到来。每一年各种前端技术也应运而生,快速掌握最新的前端技术也是每一个开发者不可或缺的一门技能。如...

    2022年7月4日
    0116
  • 7个教程和工具让你开始使用CSS网格。

    自从CSS Grid的出现它就变得很受欢迎,它甚至被我们行业最新的官方流行语所引用。谈论着它是未来的网页设计和布局。我可以滔滔不绝地说,当狂热发生的时候,没有使用网格的人会被抛在后面,维基百科的互联网先驱...

    2023年2月14日
    01
  • 前端开发工程师眼中网站设计的功能性。

    做 VALSE 2016 网站的时候,没有设计师的参与。在这种情境下要做出网站,只好考虑从功能性出发写网站,而在这个过程中,开始思考前端工程师的工作起点到底是不是设计稿,并以此看到了可能可以 让前端工程师脱离设...

    2022年7月4日 建站资讯
    0131

联系我们

QQ:951076433

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