北鸟南游的博客 北鸟南游的博客
首页
  • 前端文章

    • JavaScript
    • Nextjs
  • 界面

    • html
    • css
  • 计算机基础
  • 后端语言
  • linux
  • mysql
  • 工具类
  • 面试相关
  • 图形学入门
  • 入门算法
  • 极客专栏
  • 慕课专栏
  • 电影资源
  • 儿童动漫
  • 英文
  • 棋牌益智
  • 两性知识
  • 健康知识分享
关于我
归档
GitHub (opens new window)
首页
  • 前端文章

    • JavaScript
    • Nextjs
  • 界面

    • html
    • css
  • 计算机基础
  • 后端语言
  • linux
  • mysql
  • 工具类
  • 面试相关
  • 图形学入门
  • 入门算法
  • 极客专栏
  • 慕课专栏
  • 电影资源
  • 儿童动漫
  • 英文
  • 棋牌益智
  • 两性知识
  • 健康知识分享
关于我
归档
GitHub (opens new window)
  • JavaScript

  • 界面

    • HTML
    • CSS
      • css3新特性
      • css选择器
      • flex页面布局详解
        • flex-direction
        • flex-wrap
        • flex-flow
        • justify-content
        • align-items
        • align-content
        • order
        • flex-grow属性
        • flex-shrink属性
        • flex-basis
        • flex:
        • align-self
      • 学习less
  • front
  • interface
  • css
北鸟南游
2018-01-17
目录

flex页面布局详解

# Flex介绍

Flex主要是为了解决容器内部子项的对齐和自由分配,即使它们大小是未知的或者动态的。 Flex背后设计思想给容器控制子项的宽度和高度的能力,使得flex子项可以自动填满容器的可用空间(主要是适用所有显示设备和屏幕大小)。

# Flex的属性

# 作用于容器的属性:

  • flex-direction:规定了主轴的方向X或者Y
  • flex-wrap:设置子项是否换行
  • flex-flow:是flex-direction和flex-wrap的综合缩写,默认值为:row nowrap
  • justify-content:子项在主轴上分布的方式
  • align-items:子项在侧轴上对齐的方式
  • align-content:子项有多行时,该属性生效。当容器的侧轴上有多余空间,align-content用了调整多个子项行在容器侧轴上的对齐方式,和justify-content属性控制子项在主轴上分布属性类似。

# 作用于子项的属性:

  • order:设置一个数字,用来控制子项排序的先后,数字越小越靠前,负值也可以。
  • flex-grow:设置一个数字(扩大比例),用了控制子项在容器中所占的比例(如果都设置1,所有子项大小相等,如果有一个为2,则该子项是其它子项的2倍),负值属性失效。
  • flex-shrink:设置一个数字(缩小比例),默认值为1,负值失效。
  • flex-basis:子项在分配容器剩余空间之前的一个依据基础,如果设置为0,内容不考虑子项内容周围额外空间,如果设置为auto,子项的额外空间基于flex-grow分布。
  • flex:是flex-grow,flex-shrink和flex-basis属性的综合缩写,默认值为0 1 auto
  • align-self:用来控制子项单独的覆写默认的对齐方式。

# Flex的容器属性详细介绍

# flex-direction

属性,四个值

	.container { flex-direction: row | row-reverse | column | column-reverse; }
1
  • row(默认值):如果书写方式是ltr,那么flex子项是从左向右排列;
  • row-reverse:如果书写方式ltr,方面flex子项是从右向左排列;
  • column:和row类型,改变了主轴的方向为Y
  • column:和row-reverse类似,方向上是从下往上

flex-direction属性展示效果图:

# flex-wrap

属性,三个值

.container{ 
	flex-wrap: nowrap | wrap | wrap-reverse; 
}
1
2
3
  • nowrap(默认值):单行显示
  • wrap:多行显示
  • wrap-reverse:多行显示,反转

flex-wrap属性展示效果图:

# flex-flow

属性是flex-direction和flex-wrap的综合

flex-flow: <'flex-direction'> || <'flex-wrap'>
1

默认属性值row nowrap

# justify-content

属性,五个属性值

.container{
	justify-content: flex-start | flex-end | center | space-between | space-around;
}
1
2
3
  • flex-start(默认值):子项靠近起始位置
  • flex-end:子项靠近结束位置
  • center:子项在一行的中间位置
  • space-between:子项在主轴上平均分布,顶齐起始和结束的位置
  • space-around:子项在主轴上平均分布,起始和结束位置的两端保留一半的空间

justify-content属性展示效果图:

# align-items

属性的五个属性值

.container{
	align-items: flex-start | flex-end | center | baseline | stretch
}
1
2
3
  • flex-start:子项在侧轴上靠近起始位置对齐
  • flex-end:子项在侧轴上靠近结束位置对齐
  • center:子项在侧轴上,居中对齐
  • baseline:子项的内容靠基线对齐
  • stretch

align-items属性展示效果图:

# align-content

属性的六个属性值

.container{
	align-content:flex-start | flex-end | center | space-between | space-around | stretch
}
1
2
3

只有在子项是多行时,该属性生效

  • flex-start:各行向容器侧轴的起始位置靠齐
  • flex-end:各行向容器侧轴的结束位置靠齐
  • center:各行在容器侧轴上居中对齐
  • space-between:各行在容器侧轴上平均分布,两端不留空间
  • space-around:各行在容器侧轴上平均分布,两端保留一半空间
  • stretch:各行会伸缩以填满侧轴上的空间

# Flex的子项属性详细介绍

# order

属性是一个数字序号值 子项根据order数字的大小进行排序展示

# flex-grow属性

设置一个数字,表示扩大子项大小

# flex-shrink属性

设置一个数字,表示缩写子项大小,在容器空间不足的情况下生效

# flex-basis

子项分配容器剩余空间的一个依据基础 两个值,如果为0,内容不考虑子项的周围额外空间,如果是auto,以子项周围的额外空间进行分布

flex-basis属性展示效果图:

# flex:

是flex-grow,flex-shrink和flex-basis属性的综合缩写,默认值为0 1 auto flex一般使用第一个数字

# align-self

属性的六个属性值,子项的对齐方式覆盖原有的对齐方式

.container{
	align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
1
2
3
  • auto:计算值为父元素的align-items属性值,如果该元素没有父元素,则计算值为stretch
  • flex-start:子项在侧轴起始一侧,靠近起始的边
  • flex-end:子项在侧轴结束的一侧,靠近结束的边
  • center:子项在侧轴上居中
  • baseline:子项基于元素的基线对齐
  • stretch

align-self属性展示效果图:

本站部分内容来源网络转载,如有侵权,请联系删除;本站不负任何版权责任!
编辑 (opens new window)
上次更新: 2025/10/22, 08:49:36
css选择器
学习less

← css选择器 学习less→

最近更新
01
麻将高手快速提升胜率教学
10-22
02
《金刚经》深度解析
10-22
03
鬼谷子识人奇术
10-22
更多文章>
Theme by Vdoing | Copyright © 2018-2025 北鸟南游
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式