Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FlexDisplayRoom「在线玩弄」 #11

Open
MLuminary opened this issue May 9, 2018 · 0 comments
Open

FlexDisplayRoom「在线玩弄」 #11

MLuminary opened this issue May 9, 2018 · 0 comments
Labels

Comments

@MLuminary
Copy link
Owner

FlexDisplayRoom

项目展示地址

前段时间面试发现有很多都问 flex 布局,就觉得灰常有必要去学习一下,浏览了一遍阮一峰大神写的教程后掌握了基本理论,但始终觉得应该实践一下,偶然看到了这样一个网站

https://demos.scotch.io/visual-guide-to-css3-flexbox-flexbox-playground/demos/

应该要翻墙才能进去,这个网页在手机端需要不断的上下滑动,个人感觉有必要修改一下,就萌生了也做一个类似的想法,当然自己手机端做的也不是那么好,但是在做的过程中也学到了一些适应手机端的一些知识

项目展示地址

项目源码地址

Flex 布局的基础知识

采用 flex 布局的元素,称为 Flex 容器,它的所有子元素自动成为容器成员,成为 Flex 项目

容器的属性

以下属性第一个取值为默认值

flex-direction

  • row : 主轴为水平方向,起点在左端
  • row-reverse : 主轴为水平方向,起点在右侧
  • column : 主轴为垂直方向,起点在上沿
  • column-reverse : 主轴为垂直方向,起点在下沿

flex-wrap

  • nowrap : 不换行
  • wrap : 换行,第一行在上方
  • wrap-reverse: 换行,第一行在下方

flex-flow

flex-flowflex-directionflex-wrap 的简写形式,默认值为 row nowrap

justify-content

  • flex-start : 左对齐
  • flex-end : 右对齐
  • center : 居中
  • space-between : 两端对齐,项目之间间隔都相等
  • space-around : 每个项目两侧的间隔相等

align-items

  • stretch : 如果项目未设置高度或设为 auto ,将占满整个容器的高度
  • flex-start : 交叉轴的起点对齐
  • flex-end : 交叉轴的终点对齐
  • center : 交叉轴的中点对齐
  • baseline : 项目的第一行文字的基线对齐

align-content

  • stretch : 轴线占满整个交叉轴
  • flex-start : 与交叉轴的起点对齐。
  • flex-end : 与交叉轴的终点对齐。
  • center : 与交叉轴的中点对齐。
  • space-between : 与交叉轴两端对齐,轴线之间的间隔平均分布。
  • space-around : 每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。

项目的属性

order

定义项目的排列顺序,属性值越小,排列越靠前,默认为 0

flex-grow

定义项目的放大比例,默认为 0 ,即如果存在剩余空间也不放大

flex-shrink

定义项目的缩小比例,默认为 1 ,即如果空间不足,项目将自动缩小,负值对该属性无效

flex-basis

定义了在分配多余空间之前,项目占据的主轴空间。默认值为 auto 即项目本来的大小

flex

flexflex-growflex-shrinkflex-basis 的简写,默认值为 0 1 auto

该属性有两个快捷值 : auto(1 1 auto) 和 none(0 0 auto)

align-self

align-self 允许单个项目与其它项目有不一样的对其方式,可覆盖 align-items。默认值为 auto,表示继承父元素的 align-items 属性

@MLuminary MLuminary added the flex label May 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant