首页 web前端 css教程 CSS3中display属性的Flex布局的方法

CSS3中display属性的Flex布局的方法

Dec 12, 2017 am 09:53 AM
css3 display flex

在学习微信小程序,在设计首页布局的时候,新认识了一种布局方式display:flex,本文主要介绍了浅谈CSS3中display属性的Flex布局的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家。


 .container {
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: #b3d4db;
 }
登录后复制

编译之后的效果很明显,界面的布局也很合理,看起来很清晰。那么究竟这个属性是干嘛用的呢?

Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

它即可以应用于容器中,也可以应用于行内元素。(以上说明结合微信开发者工具说明)2009年,W3C提出了一种新的方案----Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。

基本概念

采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"。容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

以下6个属性设置在容器上:

  • flex-direction  容器内项目的排列方向(默认横向排列)  

  • flex-wrap  容器内项目换行方式

  • flex-flow  以上两个属性的简写方式

  • justify-content  项目在主轴上的对齐方式

  • align-items  项目在交叉轴上如何对齐

  • align-content  定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

flex-direction

 .box { 2  flex-direction: row | row-reverse | column | column-reverse; 3 }
登录后复制

属性可选值的范围为row(默认)沿水平主轴由左向右排列、row-reverse沿水平主轴由右向左排列、column沿垂直主轴右上到下和column-reverse。

flex-wrap

.box{ 2  flex-wrap: nowrap | wrap | wrap-reverse; 3 }
登录后复制

属性可选值的范围为nowrap(默认)不换行、wrap换行(第一行在上方)和wrap-reverse(你懂的~)

flex-flow

.box { 2  flex-flow: <flex-direction> || <flex-wrap>; 3 }
登录后复制

写法属性中,将上述两种方法的值用||连接即可

justify-content

 .box { 2  justify-content: flex-start | flex-end | center | space-between | space-around; 3 }
登录后复制

项目在主轴上的对齐方式(主轴究竟是哪个轴要看属性flex-direction的设置了)

flex-start:在主轴上由左或者上开始排列

flex-end:在主轴上由右或者下开始排列

center:在主轴上居中排列

space-between:在主轴上左右两端或者上下两端开始排列

space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

align-items

.box { 2  align-items: flex-start | flex-end | center | baseline | stretch; 3 }
登录后复制

这里面直接上图片说明的更清楚一些

align-content

 .box { 2  align-content: flex-start | flex-end | center | space-between | space-around | stretch; 3 }
登录后复制

以上介绍完了容器中的属性,下面说一下容器中项目的属性:

  • order  项目的排列顺序。数值越小,排列越靠前,默认为0。

  • flex-grow  项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

  • flex-shrink  项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

  • flex-basis  在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

  • flex  是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

  • align-self  允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。

order

     .item {
       order: <integer>;
     }
登录后复制

flex-grow

     .item {
       flex-grow: <number>; /* default 0 */
     }
登录后复制

flex-shrink

     .item {
       flex-shrink: <number>; /* default 1 */
     }
登录后复制

flex-basis

    .item {
       flex-basis: <length> | auto; /* default auto */
    }
登录后复制

flex

     .item {
       flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
     }
登录后复制

align-self

     .item {
       align-self: auto | flex-start | flex-end | center | baseline | stretch;
     }
登录后复制

容器属性和项目属性是可以配合使用的,用法类似于CSS的行内式和嵌入式的道理一样。希望你可以在实际应用中熟练使用。

相关推荐:

html最新的flex布局的理解

2017 css3学习者必备:flex布局实例图文教程

CSS3中关于Flex布局的详解

以上是CSS3中display属性的Flex布局的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

由于泄露的自拍显示屏增加了以前价格实惠的相机系列的复杂性,富士 X-M5 的价格预期上升 由于泄露的自拍显示屏增加了以前价格实惠的相机系列的复杂性,富士 X-M5 的价格预期上升 Sep 07, 2024 am 09:34 AM

富士胶片粉丝最近对 X-T50 的前景感到非常兴奋,因为它重新推出了面向预算的富士胶片 X-T30 II,该胶片在 1,000 美元以下的 APS-C 类别中非常受欢迎。不幸的是,随着 Fujifilm X-T50 的推出

Apple Studio Display 的电源线是可拆卸的,但需要特殊工具 Apple Studio Display 的电源线是可拆卸的,但需要特殊工具 May 17, 2023 pm 03:05 PM

AppleStudioDisplay现已在商店正式发售,全球已有多家客户购买了该产品。与ProDisplayXDR不同,StudioDisplay有一个独特的电源连接器,似乎是不可拆卸的。事实证明,电缆是可拆卸的,但您需要使用特殊工具才能将其卸下。苹果在其网站上表示,StudioDisplay的电源线是不可拆卸的——而且很多用户都这么认为。那是因为用你的双手移除电缆似乎是不可能的,但幸运的是,电缆可以从显示器上分离。,Apple有一个特殊的工具,用于从其新的StudioDispl

比较:Apple Studio Display vs Samsung Smart Monitor M8 比较:Apple Studio Display vs Samsung Smart Monitor M8 May 11, 2023 pm 10:46 PM

三星智能显示器M8与AppleStudio显示器:设计和尺寸自推出以来,AppleStudioDisplay就被比作iMac,由相对简单的L形支架上的相对薄的面板组成。这是一种众所周知且深受喜爱的美学,三星似乎借用了它的展示。三星SmartMonitorM8采用了与外观非常相似的支架上的薄屏幕的相同想法。一些次要元素有所不同,例如左下角的小部分有点突出,三星的下巴很薄,但它们在基本设计方面似乎很接近。三星似乎从24英寸iMac中获得了很多灵感。苹果的显示器比三星的要小

三星:基于电子墨水技术的新型大显示屏可显示颜色并进行无线通信 三星:基于电子墨水技术的新型大显示屏可显示颜色并进行无线通信 Jun 19, 2024 pm 03:37 PM

我们经常报道基于电子墨水显示器的设备,例如电子阅读器。该技术具有许多优点:无需背光即可在明亮环境下读取,并且在无光切换时仅需要电源

css3怎么实现花边边框 css3怎么实现花边边框 Sep 16, 2022 pm 07:11 PM

在css中,可以利用border-image属性来实现花边边框。border-image属性可以使用图片来创建边框,即给边框加上背景图片,只需要将背景图片指定为花边样式即可;语法“border-image: url(图片路径) 向内偏移值 图像边界宽度 outset 是否重复;”。

对比:Apple Studio Display vs LG UltraFine 5K Display 哪个好? 对比:Apple Studio Display vs LG UltraFine 5K Display 哪个好? Apr 16, 2023 pm 08:25 PM

StudioDisplay和LGUltraFine5KDisplay在市场上占有相似的位置,但苹果的显示器要贵300美元。以下是您需要了解的有关这些显示器如何比较的所有信息。六年在科技领域是一段很长的时间,而这也是苹果出售一款价格不超过5,000美元的品牌显示器以来的时间。在此期间,Apple与LG合作销售专门迎合Mac用户的LGUltraFine系列。2019年,Apple停止销售这些LG显示器,转而支持ProDisplayXDR,这在价格适中的Mac友好显

Boot Camp 更新以支持 Apple Studio Display Boot Camp 更新以支持 Apple Studio Display May 20, 2023 pm 11:34 PM

在Mac上运行Windows的IntelMac用户现在可以更新BootCamp中的驱动程序,以支持Apple的StudioDisplay。Apple会定期更新BootCamp,以引入对新硬件的支持,以及典型的兼容性和性能改进。在3月份的软件更新中,Apple已启用BootCamp以与新的StudioDisplay配合使用。将BootCamp带到6.1.17版的更新引入了两个关键支持元素。首先,它增加了对StudioDisplay的兼容性,确

display有哪些取值 display有哪些取值 Nov 20, 2023 pm 05:28 PM

display的取值有block、inline、none、inline-block、flex、grid、table、inline-table和list-item等。详细介绍:1、block,将元素渲染为块级元素,块级元素在页面上形成一个块,并且独占一行;2、inline,将元素渲染为内联元素。内联元素不会独占一行,可以与其他元素并排;3、none,此值指定元素不会在页面上等等。

See all articles