flex布局学习笔记

在非常熟悉的盒子模型下也有不少的缺点,比如不易实现垂直居中,元素的位置常常要依靠浮动定位等才能解决,在响应式方面盒子模型布局也并不是多么得心应手,而flex布局能在一定程度上解决上述问题,下面归纳一下flex布局的一些基本知识要点及注意事项

1.任一容器都能指定flex布局
<div class="content"></div>
<span class="cont"></span>
.content{
	display: flex;
}
.cont{
	display: inline-flex;
}

且在指定flex布局后,其中的子元素的float、clear、vertical-align等都不再生效,子元素的原本块级属性也都会不再生效,注意是子元素,不包含孙子元素以及更下面的元素

<div class="content">
	<div class="fir">这里是第一部分</div>
	<span class="sec">这里是第二部分</span>
	<span class="sec">这里是第三部分</span>
	<div class="thi">
		<div>4-1</div>
		<span>4-2</span>
	</div>
</div>
.content{
	display: flex;
	background: pink;
	height: 400px;
}
.fir{
	background: #C7C7C7;
}
.sec{
	background: #CDB79E;
}
.thi{
	background: #FFE4E1;
}

如上图所示,块级元素属性消失,但仅限子元素,对孙子元素并不生效

2.基本概念

1.容器:使用flex布局的称为flex容器

2.项目:容器下的子元素称为项目

3.主轴:默认水平轴为主轴(但可改变方向),主轴开始与结束的位置分别叫main start、main end

4.交叉轴:默认纵向轴为交叉轴,交叉轴开始与结束的位置分别叫cross start、cross end

3.容器的属性

属性名属性值效果
flex-direction

row

row-reverse

column

column-reverse

主轴水平,起点左侧

主轴水平,起点右侧

主轴垂直,起点上边

主轴垂直,起点下边

flex-wrap

nowrap

wrap

wrap-reverse

超出不换行

超出换行,第一行在上

超出换行,第一行在下

flex-flow
<flex-direction> || <flex-wrap>flex-direction与flex-wrap的合并写法
justify-content

flex-start(默认)

flex-end

ecnter

space-between

space-around

左对齐

右对齐

居中

两端对其,项目间隔相等

每个项目两侧间隔相等

align-items

flex-start

flex-end

ecnter

baseline

stretch(默认)

交叉轴起点对齐

交叉轴终点对齐

交叉轴居中

项目第一行文字基线对齐

项目未设置宽高,将占满容器高度



alin-content


4.项目属性

属性名称属性值效果
order<integer>整型根据数值大小对项目排序,越小越靠前,且与代码先后顺序无关
flex-grow<number>默认0是否占满剩余空间,以及所占比例,如2是1占比的两倍
flex-shrink<number>默认1
项目缩小比例
flex-basis<length> | auto定义项目占据主轴的空间大小(类似宽度width),默认值auto
flexflex-grow flex-shrink flex-basis缩写默认值0 1 auto
align-self

auto

flex-satrt

flex-end

center

baseline

stretch

对单个项目定义对其方式,默认继承父元素的align-items
注:以上所有内容均来自http://www.runoob.com/w3cnote/flex-grammar.html的整理
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值