博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(待补充)CSS进阶--flex布局
阅读量:5789 次
发布时间:2019-06-18

本文共 1807 字,大约阅读时间需要 6 分钟。

目录

  1. flex 之前
  2. flex 来了
  3. 基本概念
  4. flex container 的六个属性
  5. flex item 的六个属性
  6. 例子
  7. 参考

flex 之前

我们用什么布局?主要使用

  • normal flow(正常流,也叫文档流)
  • float + clear
  • position relative + absolute
  • display inline-block
  • 负 margin

flex 来了

一种新的布局方式——Flex 布局

  1. 块级布局侧重垂直方向、行内布局侧重水平方向,flex 布局是与方向无关的。
  2. flex 布局可以实现空间自动分配、自动对齐(flexible:弹性、灵活)
  3. flex 布局适用于简单的线性布局,更复杂的布局要交给grid 布局

基本概念

父元素叫做flex container,子元素叫做flex item

在父元素上面加上display: flex;就可以开启flex布局。


flex container 的属性

  • flex-direction 方向
    row(默认值):主轴为水平方向,起点在左端。    row-reverse:主轴为水平方向,起点在右端。    column:主轴为垂直方向,起点在上沿。    column-reverse:主轴为垂直方向,起点在下沿。复制代码
  • flex-wrap 换行
    nowrap(默认):不换行。    wrap:换行,第一行在上方。    wrap-reverse:换行,第一行在下方。复制代码
  • flex-flow 上面两个的简写
  • justify-content 主轴方向对齐方式
    flex-start(默认值):左对齐    flex-end:右对齐    center: 居中    space-between:两端对齐,项目之间的间隔都相等。    space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。复制代码
  • align-items 侧轴对齐方式
    flex-start:交叉轴的起点对齐。    flex-end:交叉轴的终点对齐。    center:交叉轴的中点对齐。    baseline: 项目的第一行文字的基线对齐。    stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。复制代码
  • align-content 多行/多列内容对齐方式(用的较少)
    flex-start:与交叉轴的起点对齐。    flex-end:与交叉轴的终点对齐。    center:与交叉轴的中点对齐。    space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。    space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。    stretch(默认值):轴线占满整个交叉轴。复制代码

flex item 的属性

  • order 顺序(代替双飞燕)
    order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。复制代码
  • flex-grow 增长比例(空间过多时)
    flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。复制代码
  • flex-shrink 收缩比例(空间不够时)
    flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。复制代码
  • flex-basis 默认大小(一般不用)
    flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。复制代码
  • flex 上面三个的缩写
    flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。复制代码
  • align-self 自身的对齐方式
    align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。复制代码

例子

  1. 手机页面布局
  2. 产品列表
  3. PC页面布局
  4. 完美居中

参考

转载于:https://juejin.im/post/5ce12ef551882577e8451f75

你可能感兴趣的文章
Java利用httpasyncclient进行异步HTTP请求
查看>>
宿舍局域网的应用
查看>>
html代码究竟什么用途
查看>>
Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)
查看>>
Python version 2.7 required, which was not foun...
查看>>
context:annotation-config vs component-scan
查看>>
经典sql
查看>>
CSS3边框会动的信封
查看>>
JavaWeb实例设计思路(订单管理系统)
查看>>
source insight中的快捷键总结
查看>>
PC-IIS因为端口问题报错的解决方法
查看>>
java四种线程池简介,使用
查看>>
ios View之间的切换 屏幕旋转
查看>>
typedef BOOL(WINAPI *MYFUNC) (HWND,COLORREF,BYTE,DWORD);语句的理解
查看>>
jsp 特殊标签
查看>>
[BZOJ] 1012 [JSOI2008]最大数maxnumber
查看>>
gauss消元
查看>>
多线程-ReentrantLock
查看>>
数据结构之链表与哈希表
查看>>
IIS7/8下提示 HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求...
查看>>