响应式布局【flex】

栏目: CSS · 发布时间: 5个月前

来源: segmentfault.com

本文转载自:https://segmentfault.com/a/1190000018996903,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。

响应式布局【flex】

来源于 响应式方法汇总

了解了以上响应式布局,下面重点介绍一下 flex弹性布局 ,非常有用,但是有记忆障碍的我,为了下次还能顺利的记起来,还是总结一下吧,顺便把我看的几个博客内容和大家分享一下,写的非常详细,很好理解。

扩展

1.查看css属性兼容性情况

https://caniuse.com/

2.盒子模型 box-sizing

  • content-box(标准盒子模型)

响应式布局【flex】

width = content-width;

解析:当盒子内容宽度固定时,设置盒子的padding和border,盒子模型宽高会变大,向外扩展,实际content内容不变(注意:margin始终在盒子外);

  • border-box(IE盒子模型)

响应式布局【flex】

width = content-width + padding +border;

解析:当盒子内容宽度固定时,设置盒子的padding和border,盒子模型宽高不变,向内扩展,实际content内容变小(注意:margin始终在盒子外);

3. 样式兼容(postCss插件)

vscode 自动添加 css 兼容代码插件

flex弹性布局

采用 Flex 布局的元素,称为 Flex 容器(flex container),简称” 容器 ”。它的所有子元素称为 Flex 项目(flex item),简称” 项目 ”。

注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

1.弹性容器

display:flex;

2.容器属性

  • justify-content------------ 项目在主轴上的对齐方式( 水平或垂直由flex-direction决定 )

    • flex-start ( 默认 居左 )
    • flex-end ( 居右 )
    • center( 居中 )
    • space-between( 两端对齐 项目之间的间隔都相等 )
    • space-around( 每个 项目 两侧的 间隔相等 )
  • align-items------------ 交叉轴上如何对齐( 水平或垂直由flex-direction决定 )

    • stretch( 默认 如果项目未设置高度或设为auto,将占满整个容器的高度 )
    • flex-start ( 对齐起点 )
    • flex-end ( 对齐终点 )
    • center( 对齐中点 )
    • baseline( 项目的第一行 文字的基线对齐 )
  • flex-direction------------ 决定主轴的方向

    • row( 默认 横向排列 起点在左 )
    • row-reverse( 横向排列 起点在右 )
    • column( 纵向排列 起点在头【上】 )
    • row-reverse( 纵向排列 起点在尾【下】 )
  • flex-wrap------------ 子元素是否换行

    • nowrap( 默认 不换行 )
    • wrap( 换行 )
    • wrap-reverse( 反向换行 )
  • flex-flow------------ <flex-direction> <flex-wrap>( flex-direction属性和flex-wrap属性的简写形式 )

    • 默认是 row nowrap

3.项目属性

  • order

    order: <integer>/* default 0 */
    • JavaScript 语法: object.style.order="2"
    • 规定项目顺序
    • 数值越小,排列越靠前
    • 默认值为0
  • flex-grow

    flex-grow: <number>; /* default 0 */
    • JavaScript 语法: object.style.flexGrow="5"
    • 规定项目的放大比例
    • 如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话).如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍.
    • 默认值为0
  • flex-shrink

    flex-shrink: number|initial|inherit; /* default 1 */
    • JavaScript 语法: object.style.flexShrink="5"
    • 定义了项目的缩小比例
    • 如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小.如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小.
    • 默认值为1
  • flex-basis

    flex-basis: number|auto|initial|inherit; /* default auto */
    • JavaScript 语法: object.style.flexBasis="200px"
    • 定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。
    • 它可以设为跟width或height属性一样的值(ep:300px),则项目将占据固定空间.
    • 默认值为auto
  • flex

    flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;/* default 0 1 auto */
    • JavaScript 语法: object.style.flex="1"
    • 默认值为0 1 auto

响应式布局【flex】

  • align-self

    align-self: auto|stretch|center|flex-start|flex-end|baseline|initial|inherit;/* default auto */
    • JavaScript 语法: object.style.alignSelf="center"
    • 定义单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。
    • 默认值为auto,元素继承了它的父容器的 align-items 属性。如果没有父容器则为 "stretch"。

响应式布局【flex】

详细主轴和交叉轴的理解请看: 30分钟彻底弄懂flex布局


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

关注码农网公众号

关注我们,获取更多IT资讯^_^


为你推荐:

相关软件推荐:

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

响应式Web设计

响应式Web设计

本·弗莱恩 (Ben Frain) / 奇舞团 / 人民邮电出版社 / 2017-2-1 / CNY 59.00

本书将当前Web 设计中热门的响应式设计技术与HTML5 和CSS3 结合起来,为读者全面深入地讲解了针对各种屏幕大小设计和开发现代网站的各种技术。书中不仅讨论了媒体查询、弹性布局、响应式图片,更将最新和最有用的HTML5 和CSS3 技术一并讲解,是学习最新Web 设计技术不可多得的佳作。一起来看看 《响应式Web设计》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试