flex 布局

flex 布局

首先需要为父元素设置 display: flex; 是为了给父元素设置伸缩效果,控制子元素排列方式。
display: flex 是由主轴跟垂轴来进行排列的。

主轴默认是水平方向从左到右排列,也可以设置成从右到左排列。

justify-content 控制主轴排序方式

flex-start 		左对齐 (默认值)
flex-end		右对齐
center			居中
space-between	两端对齐 (两侧没有边距)
space-around 	两端对齐	(两侧有边距)

垂轴默认是垂直方向从上到下排列,也可以设置成从下到上排列。

align-items 控制垂轴排序方式

stretch		元素被拉伸以适应容器 (默认值)
flex-start	元素位于容器的开头
flex-end	元素位于容器的结尾
center		元素位于容器的中心
baseline	元素位于容器的基线上

flex-direction 决定主轴的排列方向

row				左边开发排列,从左到右
row-reverse		右边开始排列,从右到左
column			垂轴变成了水平方向,从上到下
column-reverse	垂轴变成了水平方向,从下到上

水平垂直居中

div {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column; /* 垂轴变成水平方向 */
}

左右排版分布

<div>
	<ul>
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</ul>
	<span>登录/注册</span>
</div>
div {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
ul {
	display: flex;
	align-items: center;
}

flex 属性,可以设置元素宽度,包含 flex-grow, flex-shrink, flex-basis。

flex-grow 		定义增长的量
flex-shrink		定义缩减的量
flex-basis		增加和缩减的基准

假如要设置左右两栏布局,左边 280px 固定尺寸,右边自适应,那左边可以设置 flex: 0 0 280px; 固定左边尺寸,右边区域设置 flex: 1 0 0; 增长份子设置为 1 ,这样就把剩余的空间都给右边。
我们可以配合 flex-wrap 属性,flex-wrap: wrap; 使右边在宽度不够的情况换行,如果右边区域设置 flex: 1 0 280px; 那么右边可用宽度小于 280px 就会换行,这样宽度足够的时候实现水平方向两栏布局。

<main>
	<ul>
		<li>1</li>
		<li>2</li>
		<li>3</li>
	</ul>
	<article>
		很多内容
	</article>
</main>
main {
	display: flex;
	flex-wrap: wrap;
}
ul {
	flex: 0 0 280px;
}
article {
	flex: 1 0 280px;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值