博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS之flex
阅读量:6324 次
发布时间:2019-06-22

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

CSS flex

前言:

年前公司招进来一个高级前端,最近闲谈中聊到了他之前找工作面试时的情况。        在对大佬油然起敬的同时,深感自己的不足。便产生了再次写博客的想法。写博文一方面巩固以前的知识,另一方面记录和督促学习新的知识内容。        复制代码

1. 初识 flex

flex 是 flexible 的缩写,意思为弹性布局,用来为盒模型提供最大的灵活性。

任何一个容器都可以指定为 flex 布局( 包括行内元素 ):

div { display: flex}复制代码

元素设置 flex 属性后,其具有的 float clear vertical-align 都将失效

2. flex 布局和正常布局比较

  • 常规布局:

    • 块级元素自上而下排列
    • 元素只有高度,没有宽度时,宽度默认100%
    • 元素只有宽度,没有高度时,高度为 0
  • flex 布局

    • 容器内元素默认从左往右排列
    • 元素只有高度,没有宽度时,宽度为 0
    • 元素只有宽度,没有高度时,高度默认100%

成为 flex 容器的元素默认有两条轴:水平主轴(main axis)和垂直交叉轴(cross axis),单个项目占据的主轴空间称为 main size,交叉轴为 cross size,下面这张图很好的说明了:

3. flex 属性

  • flex-direction 改变主轴的方向,默认为 row 横向排列。属性包含 row | row-reverse | column | column-reverse
  • flex-wrap 控制元素换行。属性包含 nowrap | wrap | wrap-reverse
  • align-content 控制多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。属性包含 flex-start | flex-end | center | space-between | space-around | stretch
  • justify-content 控制在主轴上的对齐方式。属性包含 flex-start | flex-end | center | space-between | space-around
  • align-items 控制交叉轴上如何对齐。包含的属性有 flex-start | flex-end | center | baseline | stretch
  • align-self 属性允许单个项目有与其他项目不一样的对齐方式。包含的属性 auto | flex-start | flex-end | center | baseline | stretch
  • order 属性控制元素的排列顺序,数值越小,排列越靠前。
  • flex-grow 属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
  • flex-shrink 属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
  • flex-basis 属性定义了项目占据主轴的空间,默认为 auto ,即元素本来大小。
  • flex 属性是 flex-grow, flex-shrink 和 flex-basis 的简写,默认值为0 1 auto。

可以利用 flex 实现筛子的排布,同时也锻炼了对 flex 的属性的使用

4. flex 的应用

  • 可以利用 flex 实现居中布局
复制代码
  • 使用 flex 实现简易的弹性伸缩布局

    
header
footer
复制代码

熟练使用 flex 相比于使用 float 更加快捷和方便,但其对 IE 低版本兼容性不是很好。有 IE 需求的情况下还是推荐使用 float 布局。

转载地址:http://xpqaa.baihongyu.com/

你可能感兴趣的文章
Redis指令与数据结构(二)
查看>>
Ubuntu ibus输入法选中删除
查看>>
12月25日云栖精选夜读 | Python拼接字符串的七种方式 ...
查看>>
swap释放过程浅析
查看>>
2017-12-21 FriceEngine试用与API中文化
查看>>
【云周刊】第212期:发布SaaS加速器:我们不做SaaS,我们只做SaaS生态的推进者和守护者...
查看>>
企业级性能、安全可靠 阿里云发布企业级大数据平台开发者版
查看>>
发力1小时到家服务,山姆与京东到家共建前置仓获10倍坪效、60%月复购率
查看>>
苹果又挖VR界大牛,这次是Jaunt 的创始人
查看>>
【直播回顾】云栖社区特邀专家蒋泽银:Jpom一款低侵入式Java运维、监控软件...
查看>>
CefSharp中ChromiumWebBrowser打开新页面处理(_blank)
查看>>
解决ipad连接不上电脑的问题
查看>>
全球数字化报告 2019 发布:每 11 秒产生一位网络新人
查看>>
Kubernetes(六) - Secret和私有仓库认证
查看>>
DBeaver 社区版 6.0.2 发布,可视化数据库管理平台
查看>>
jQuery自定义右键菜单
查看>>
分布式工具的一次小升级⏫
查看>>
云创大数据亮相第四届中国-亚欧安博会
查看>>
为用户安全着想,The Void把VR硬件做成了安全帽
查看>>
“RESOURCE MONITOR“CPU占用特别高
查看>>