wpf textbox垂直对齐方式_果冻公开课第九课:打破传统布局方式的flex(上)

1b523d83933787608514deb14b8de9e2.png

传统的布局方式都基于盒模型

像搭积木一样做出布局

这些布局方式的缺点都很明显

于是"flex布局"就诞生了

彻底改变了布局的方式

动画视频:

d57173d547f5331251696d23b5d5b1d5.png
果冻公开课第九课:flexhttps://www.zhihu.com/video/1104825597376946176

文字解析:

传统的布局都基于盒模型

需要灵活运用display+postion+float属性

像搭积木一样的方式做出布局

为了完成一些特殊的需求

需要掌握各种奇技淫巧

像垂直居中 弹性布局等

对于新手来说都是艰难的考验

比如我们有以下几种常见的布局场景

第一种 水平方向的多列自适应布局

它要求两列布局

一侧列宽固定

另一侧列宽自适应填充整个容器

如果是左侧定宽就浮动到左侧

右边元素margin-left与左侧隔离

缺点是右侧元素必须知道左侧元素的宽度精确设置

而这些数值涉及的元素越多

修改样式时越容易产生错误

84756f178510cd36691f68f1f2f4e59f.png

第二种 垂直方向的多行自适应布局

一般来说我们的footer是跟着内容走的

所以当内容较少不足一屏的时候

footer也会跟着内容往上走

导致下面一段空白

e25f16981f3cb54ab92276b629e1ca68.png

如果希望头尾高度固定

中间内容自适应填充整个容器

传统做法里比较简单的方案是用table来实现

table在垂直方向可以占满100%的特性

用一个容器section充当table

d231b9b0d64e14fae2c85df087a40b74.png

里面的三个子元素则设置为表格的行:table-row

这样只设置头尾的高度

剩下的元素也能实现垂直方向自适应占满剩余高度

缺点是这样使用表格行

可能会被同时使用的其他css属性破坏

比如float absolute等等

对margin值也无法正常反应

7d776694ddeb68191486ef5ead7993b8.png

第三种 水平居中

传统的水平居中解决方案有多种

比如inline-block position table

这里我们先看看inline-block的方式

利用文字居中的属性来让content居中

缺点是可能会限制content的发挥

除非这里本身就需要content是个行内块级元素

5e740b60dc693120aa49592f7e2b3f16.png

第四种 垂直居中

传统的垂直居中解决方案也有多种

比如inline-block position table

水平居中里我们已经看过了inline-block的方式

现在来看看position的方式

让元素在纵向平移父元素高度的一半

再反方向位移自身高度的一半

刚好实现垂直居中

水平居中也可以这样实现

01f995947ef3d92d19e5b0e0fb9a8186.png

不过这种方式的缺点是可能和其他transform属性冲突

从前面讲的例子可以看出来

这些布局的缺点都非常明显

如果CSS能支持一种新的布局方式就好了

因此大佬们考虑重新设计出一种新的布局方式来解决这些问题

它需要

1 能够自适应,弹性伸缩占满容器,对移动端更加友好

2 容器里的子元素对齐更加灵活和容易

3 容器里的子元素可以横向纵向正向反向排列组合

对应这几个需求

就有了设计这套布局的最重要的三大概念

轴向 对齐 弹性

每一个概念都有一个或多个属性来实现

114fe0ac618824f3d6b700e7ec46fb15.png

有的作用于父容器上

有的则作用于子容器上

于是在2009年后

W3C给这套方案命名为flex

彻底改变了布局的方式

怎么样是不是很简单?

赶紧上手写点代码练习一下吧~

更多内容,欢迎加大师姐微信:

入群了解课程动态、幕后花絮,还有机会参与到课程制作,成为联合制作人哟

8cf3575a89422724ef4817f6a14c675f.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值