首页 web前端 css教程 CSS3中display属性布局详解

CSS3中display属性布局详解

Mar 21, 2018 pm 04:33 PM
css3 display

这次给大家带来CSS3中display属性布局详解,CSS3中display属性布局的注意事项有哪些,下面就是实战案例,一起来看一下。

最近在学习微信小程序,在设计首页布局的时候,新认识了一种布局方式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;
     }
登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

CSS定制文本省略的方法

BFC模式详解

css的绝对定位怎么兼容所有的分辨率

以上是CSS3中display属性布局详解的详细内容。更多信息请关注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.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
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)

纯CSS3怎么实现波浪效果?(代码示例) 纯CSS3怎么实现波浪效果?(代码示例) Jun 28, 2022 pm 01:39 PM

纯CSS3怎么实现波浪效果?本篇文章就来给大家介绍一下使用 SVG 和 CSS 动画制作波浪效果的方法,希望对大家有所帮助!

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

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

巧用CSS实现各种奇形怪状按钮(附代码) 巧用CSS实现各种奇形怪状按钮(附代码) Jul 19, 2022 am 11:28 AM

本篇文章带大家看看怎么使用 CSS 轻松实现高频出现的各类奇形怪状按钮,希望对大家有所帮助!

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 是否重复;”。

原来利用纯CSS也能实现文字轮播与图片轮播! 原来利用纯CSS也能实现文字轮播与图片轮播! Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

See all articles