您现在的位置是:网站首页> 编程资料编程资料
CSS3新增布局之: flex详解详解CSS中的flex布局CSS中display flex整理(布局利器) CSS3 Flex 弹性布局实例代码详解css flex几种多列布局详解CSS3伸缩布局盒模型Flex布局css flex 弹性布局详解
2021-09-03
872人已围观
简介 flex布局(flex是flexible box的缩写), 也称为弹性盒模型 ,这篇文章主要介绍了CSS3新增布局之: flex的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
flex 基本概念
flex布局(flex是flexible box的缩写), 也称为弹性盒模型 。将属性和属性值(display:flex; )写在哪个标签样式中,谁就是 容器;它的所有子元素自动成为容器成员,称为项目。
当一个元素的display 取值为flex,所有项目(子元素)会在一行显示;如果所有项目的尺寸之和大于容器,也不会超出父元素的宽、高度。不会换行(每个项目都会自动缩小相应的比例)。
布局之:flex 010203040506
页面效果 : 每一个容器都等比例缩小了

css代码分为两种: 一类是适用于容器的 (设置主轴的起始位置、换行、主轴的对齐方式、多跟轴线对齐方式);一类是适用于项目的(设置项目的位置)。
容器常用的属性和属性值
由于重复代码较多,就不一 一上传代码了,大家可以自己动手,敲敲代码,试试看。
一、设置主轴的起始方向 flex-direction:
默认为X轴(行):
flex-direction:row; 默认是X轴的起始方向为开始位置 (从左到右依次摆放);
flex-direction:row-reverse; 改变X轴的起始方向为结束位置 (从右到左依次摆放);

设置主轴的起始方向为Y轴(列):
flex-direction:column; 默认是Y轴的起始方向为开始位置(从上到下依次摆放)
flex-direction:column-reverse; 改变Y轴的起始方向为结束位置(从下到上依次摆放)

二、设置项目是否换行 flex-wrap:(默认是不换行)
flex-wrap: nowrap; 默认值是不换行;(n个项目都会在一行显示.如果项目尺寸之和大于容器主轴的尺寸,则项目会自动缩小相应比列.) (参考第一个代码 页面结果展示)
flex-wrap: wrap; 设置换行;(超出主轴的宽,则进行换行。换行后,两行之间会出现间距,是因为垂直方向有剩余空间,会平均分配给第二行的上下)

flex-wrap: wrap-reverse; 倒序换行;(如果有两行,第2行显示在前面,第一行显示在后面)

三、主轴方向的对齐方式 justify-content:
项目是一个时:
justify-content:flex-start; 以主轴开始方向对齐 (默认)
justify-content:flex-end; 以主轴结束方向对齐

justify-content:center; 主轴方向居中

项目是多个时:
justify-content: space-between; 两端对齐 (第一个项目在容器的起始位置,最后一个项目在容器的结束位置,中间距离相等)

justify-content: space-around; 分散对齐

justify-content: space-evenly; 平分剩余空间,每个项目之间的距离相同

四、主轴改变为交叉轴方向的对齐方式
一根轴线: 主轴需改变为Y轴:flex-direction: column;
align-items: baseline; 以项目的第一行文字的基线对齐
align-items: stretch; (项目没有给高的情况下,stretch就是默认值,如果项目没有设置高度,就是容器的高)
align-items: flex-start; 交叉轴从开始位 置对齐
align-items: center; 交叉轴居中对齐
align-items: flex-end; 交叉轴从结束位置对齐

多根轴线: (所有项目的尺寸之和,必须大于容器的尺寸,使项目换行显示)
align-content: flex-start; 交叉轴从开始位置对齐
align-content: center; 交叉轴居中对齐
align-content: flex-end; 交叉轴从结束位置对齐

align-content: space-between; 交叉轴两端对齐
align-content: space-around; 交叉轴分散对齐

align-content: space-evenly; 交叉轴平均分配

项目的属性和属性值:
一、order 控制项目位置
order:1;
取值 : 正、负数 (默认值是 0)
值越小越靠前 值越大越靠后 。
(适用场景: 1.搜索引擎优化,提升SEO 把重要的信息在html代码中靠前摆放,但不影响布局 2.调整项目位置)

设置一个或多个[项目]在交叉轴的对齐方式:
align-self: flex-start; 设置项目在交叉轴开始位置摆放 (默认位置)
align-self: center; 设置项目在交叉轴居中摆放
align-self: flex-end; 设置项目在交叉轴结束位置摆放

设置某一个或多个元素放大比例
条件:所有项目的尺寸之和要小于容器的尺寸
(没有剩余空间,则设置此属性无效。)
一个元素有 flex-grow 属性

多个项目有flex-grow 属性
效果展示

将容器的剩余空间分成相应的flex-grow的份数,再按照每个项目的份数,分给有flex-grow属性的项目。
总之,flex使用起来特别方便,可适用于响应式布局,也可使用圣杯布局。只是属性较多,也要多练、多实践 ,相信你也能很快熟练使用flex的。
推荐一个小游戏,很有趣,又能增强关于flex的使用方法 :Flexbox Froggy http://blog.xiaoboswift.com/flexbox/#zh-cn 去帮助小青蛙回家吧~~
总结
到此这篇关于CSS3新增布局之: flex详解的文章就介绍到这了,更多相关css flex 布局内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
相关内容
- 基于Css Variable的主题切换完美解决方案(推荐)详解如何简单实现CSS主题的切换CSS变量实现主题切换的方法
- 如何使用css3实现一个类在线直播的队列动画的示例代码css3实现动画的三种方式html5新特性与用法大全使用html5新特性轻松监听任何App自带返回键的示例HTML5新特性之type=file文件上传功能HTML5新特性之语义化标签前端面试必备之html5的新特性CSS3动画和HTML5新特性详解
- flex布局实现每行固定数量+自适应布局Flex布局做出自适应页面(语法和案例)flex布局实现左侧文字溢出省略右侧文字自适应
- 解决CSS中子元素z-index与父元素兄弟节点的层级问题css之Display、Visibility、Opacity、rgba和z-index: -1的区别css 层叠与z-index的示例代码CSS3关于z-index不生效问题的解决z-index为负值的元素无法点击到的解决方法CSS z-index 层级关系优先级的概念css z-index层重叠顺序使用介绍css中z-index: 0和z-index: auto的区别
- CSS实现Skeleton Screen骨架屏效果css+html实现Skeleton Screen 加载占位图动画效果(带动画)
- 详解如何简单实现CSS主题的切换基于Css Variable的主题切换完美解决方案(推荐)CSS变量实现主题切换的方法
- CSS3+JavaScript实现炫酷呼吸效果的示例代码使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法使用html5+css3来实现slider切换效果告别javascript+css
- 纯CSS实现左右拖拽改变布局大小纯 CSS 实现拖拽效果的代码
- div自适应高度自动填充剩余高度div不能自适应高度不能随图片的高度变化拥有最小高度能自适应高度同时全兼容IE、FF的div设置子元素div高度不确定时父div高度如何自适应相邻div实现一个跟着另一个自适应高度示例代码怎样让一个div高度自适应浏览器高度CSS min-height IE6、IE7、FF下DIV自适应高度
- CSS让子容器超出父元素(子容器悬浮在父容器效果)css使用flexbox布局容器内多元素水平居中Css浮动元素外层容器高度为0(无高度)的解决方法CSS常见的让元素水平居中显示的方法清除网页浮动CSS的做法CSS教程:彻底弄懂闭合浮动元素
