display:flex;多行多列布局学习

  从以前的table布局到现在的div布局,再到未来的flex布局,CSS重构方面对展示行和适应性的要求越来越高;

  首先来比较一下布局方式的更新意义:

    table布局:

      优点:1、兼容性好,ie6、ie7或者什么稀奇古怪的浏览器,table布局可以用最小的代价兼容这些稀奇古怪的浏览器;

           2、自适应性,根据内容自适应内部元素的宽高;

         3、开发时间短;

      缺点:1、table嵌套table,性能差;

         2、对SEO不友好;

         3、样式可塑性差,无法准确实现设计图效果;

         4、不利于后期维护;

    div+css布局:

      优点:1、页面代码精简。加载速度得到很大的提高

         2、对于开发者来说,代码精简,便于阅读和维护

         3、利于SEO优化;

      缺点:对于列表类的内容,无法自适应添加列,添加列时,得重新计算每个元素的宽度,重新设置CSS;

    flexbox布局:(应该算是div+css的进阶)

      优点:1、灵活方便,功能强大,不管是纵向横向,自适应宽高,Flexbox 就是一种“弹性布局”模型,能很好支持不同视口尺寸和设备。

      缺点:1、兼容性差,兼容情况如下图;

         2、容器、项目中属性设置内容比较多,需多加练习;

时间: 2024-10-26 08:42:33

display:flex;多行多列布局学习的相关文章

display:flex 多栏多列布局

display:flex 多栏多列布局浏览器支持情况:火狐直接支持w3c无前缀写法,谷歌和opera支持-webkit- 前缀写法,比较适合移动端开发使用, display:flex 这个牛逼的css3布局属性,遗憾的是只有谷歌和火狐支持,中国人常用的手机上的浏览器几乎全军覆没,UC浏览器不支持,安卓4.1.1和之前版本手机自带的浏览器也不支持,微信自带浏览器也不支持. 看来要留给儿子们用了. 示例: html,body{ padding:0; margin:0;} /* flex-flow:

弹性盒模型:flex多行多列两端对齐,列不满左对齐

[1]需求: [2]解决方案: 最近遇到布局上要求item两端对齐,且最后一行在列不满的情况下要求左对齐,使用flex的justify-content: space-between;实现时发现最后一行不能左对齐,而是两端对齐方式. 不是项目上想要的效果 # 网上查了一些资料,有两种方法可以实现效果:**1.添加几个空item**(对我来说最有效的,适用于大多数场景)    根据布局列数添加空item,比如每行最大n列,那么在最后添加n-2个空item即可 <html> <style>

flex几种多列布局

基本的等分三列布局 .container{ display: flex; width: 500px; height: 200px; } .left{ flex:1; background: red; } .middle{ flex:1; background: green; } .right{ flex:1; background: blue; } <div class="container"> <div class="left"></

第28章 CSS3多列布局

第 28章 CSS3多列布局学习要点:1.早期多列问题2.属性及版本3.属性解释 本章主要探讨 HTML5中 CSS3提供的多列布局,通过多列布局我们方便的创建流体的多列布局.一.早期多列问题我们有时想布局成报纸.杂志那样的多列方式(至少两列,一般三列以上),但早期CSS提供的布局方式都有着极大的限制.如果是固体布局,那么使用浮动或定位布局都可以完成.但对于流体的多列,比如三列以上,那只能使用浮动布局进行,而它又有极大的限制.因为它是区块性的,对于动态的内容无法伸缩自适应,基本无能力.//五段内

Flex布局学习笔记

参考教程<Flex布局完全教程> Flexbox 布局(也叫Flex布局,弹性盒子布局)模块目标在于提供一个更有效地布局.对齐方式,并且能够使父元素在子元素的大小未知或动态变化情况下仍然能够分配好子元素之间的间隙. Flex布局是一个完整的模块而不是一个单独的属性,它包括了完整的一套属性.其中有的属性是设置在容器(container,也可以叫做父元素,称为flex container)上,有的则是设置在容器的项目上(item,也可以叫做子元素,称为flex items)上. Flex布局有一个

display:flex 布局详解(2)

1.  flex设置元素垂直居中对齐 在之前的一篇文章中记载过如何垂直居中对齐,方法有很多,但是在学习了flex布局之后,垂直居中更加容易实现 HTML代码: 1 <div class="demo"> 2 <div class="inner"> 3 <p>这是一个测试这是一个测试这是一个测试这是一个测试这是一个测试</p> 4 </div> 5 </div> CSS代码: .demo{ widt

弹性盒布局display:flex详解

一:弹性盒子 随着响应式设计的流行,网站开发者在设计网页布局时往往要考虑到页面在适配不同分辨率的浏览器时其内部组件位置大小都会产生变化,因此需要设计者根据窗口尺寸来调整布局,从而改变组件的尺寸和位置,以达到最佳的显示效果.本文介绍的就是一种实现这种变化的比较简单的模型:弹性盒子. 二:属性 首先要给父容器设置display:flex(或者inline-flex)属性,就可以让该父容器的布局方式变为弹性盒模型,接着,给父容器或者子元素设置不同属性来实现具体布局. ①:给父容器添加的属性 1.fle

Flex 布局学习笔记

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { padding: 0px; margin: 0px; } body { box-sizing: border-box; width: 100%; min-height: 100%; } .ma

弹性布局display:flex

1.flex-direction:设置伸缩项目的排列方式,即主轴的方向 row    设置从左到右排列 row-reverse    设置从右到左排列 column    设置从上到下排列 column-reverse    设置从下到上排列 2.justify-content:调整主轴方向上的对齐方式,对于弹性盒子内元素 flex-start    伸缩项目以起始点靠齐 flex-end    伸缩项目以结束点靠齐 center    伸缩项目以中心点靠齐 space-between    伸