flex弹性盒子的使用
前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!
CSS3引入了一种新的布局模型—— flex 布局。flex是 flexible box 的缩写,一般称之为弹性盒模型。flex布局提供一种更加有效的方式来进行容器内的项目布局,以适应各种类型的显示设备和各种尺寸的屏幕。
基本概念
要让一个元素变成伸缩容器,需要使用 display 属性。采用 flex 布局的元素,称为伸缩容器 (flex container) ,容器内的子元素称为伸缩项目 (flex item)。
使用 flex 布局以后,需要注意 float、clear 和 vertical-align 属性在伸缩项目上没有效果。
弹性盒模型的两种容器块级伸缩容器和内联伸缩容器(display: flex | inline-flex;)的区别类似于 block 和 inline-block 的区别,一个独占一行,另一个非独占一行。
伸缩容器
有以下6个属性作用在伸缩容器上:
flex-direction 主轴的方向(即项目的排列方向)
- row(默认值):主轴为水平方向,起点在左端。
- row-reverse:主轴为水平方向,起点在右端。
- column:主轴为垂直方向,起点在上沿。
- column-reverse:主轴为垂直方向,起点在下沿。
flex-wrap 如果一条轴线排不下,如何换行
- nowrap(默认值):不换行,伸缩项目在一行内等均分配
- wrap:换行
- wrap-reverse:反向换行
flex-flow
属性是 flex-direction 属性和 flex-wrap 属性的简写形式,默认值为 row nowrap 。
justify-content 伸缩项目在主轴上的对齐方式
- flex-start(默认值)左对齐
- flex-end 右对齐
- center 水平居中对齐
- space-between 两端对齐
- space-around 扩散对齐
align-items 伸缩项目在侧轴上的对齐方式
- stretch(默认值)伸缩项目将拉伸充满整个容器高度
- flex-start 顶部对齐
- flex-end 底部对齐
- center 垂直居中对齐
- baseline 伸缩项目与第一行文字的基线对齐
align-content 堆栈伸缩行
伸缩项目
有以下6个属性设置在伸缩项目上
order
属性定义伸缩项目的排列顺序。数值越小,排列越靠前,默认为0。
flex-grow
属性定义伸缩项目的放大比例,默认为 0,即如果存在剩余空间,也不放大。
如果所有伸缩项目的 flex-grow 属性都为 1,则它们将等分剩余空间(如果有的话)。
如果一个伸缩项目的 flex-grow 属性为 2,其他项目都为 1,则前者占据的剩余空间将比其他项多一倍。
flex-shrink
属性定义了伸缩项目的缩小比例,默认为 1,即如果空间不足,该项目将缩小。
如果所有伸缩项目的 flex-shrink 属性都为 1,当空间不足时,都将等比例缩小。
如果一个伸缩项目的 flex-shrink 属性为 0,其他伸缩项目都为 1,则空间不足时,前者不缩小。
flex-basis
属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为 auto,即项目的本来大小。
flex
属性是 flex-grow、flex-shrink 和 flex-basis 的简写,默认值为 0 1 auto 。后两个属性可选。
该属性有两个快捷值: auto (1 1 auto) 和 none (0 0 auto) 。
align-self
属性允许单个项目有与其他项目不一样的对齐方式,可覆盖容器的 align-items 属性。默认值为 auto,表示继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch (充满整个容器)。
flex弹性盒子的使用的更多相关文章
- flex弹性盒子布局
一.在需要使用弹性盒子的容器上添加属性:display:flex 或者 display:inline-flex; 二.在父容器上添加flex-direction设置子元素主轴方向: 不写默认值是X轴从 ...
- css3 flex弹性盒子布局梳理,打通任督二脉
挺早就接触了css的flex布局,深入使用也就是在近期移动端开发.老来多健忘,只能自己梳理一下知识点,当做温故知新吧. ,请原谅小白的才疏学浅,写的不到位的地方请指正. flex属性用于设置或检索弹性 ...
- JS Web的Flex弹性盒子模型
1. justify-content <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- flex 弹性盒子模型一些案例.html
Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性. Flex元素是可以让你的布局根据浏览器的大小变化进行自动伸缩. 自适应导航 <ul class="navi ...
- flex弹性盒子
注意事项 1.设为Flex布局之后,子元素的float,clear和vertical-align属性都讲失效 2.采用Flex布局的元素,称为Flex容器(Flex container),所有的子元素 ...
- flex弹性盒子实现微博页面
结果图: 源代码: html部分: <!DOCTYPE html><html lang="en"><head> <meta charset ...
- Flex 弹性盒子布局使用教程
本文转载于<https://blog.csdn.net/lyznice/article/details/53981062>
- flex属性值----弹性盒子布局
里面的属性都 是在有display: flex的情况 下才生效. 兼容性写法: display: -webkit-box; /*老版本语法: Safari, iOS, Android browse ...
- css3弹性盒子display:flex
先看上面的代码,解释一下意思,看你能认识多少(后面有注释): .container { display: flex; //弹性布局 flex-direction: column; //容器内项目的排列 ...
随机推荐
- Linux Mint chrome浏览器提示“需要安装adobe flash player”
出现这种情况,是因为系统没有安装flash 插件造成的,用以下的命令安装: sudo apt-get install adobe-flashplugin 安装完成后,重启浏览器. 如果chrome浏览 ...
- Jsp的基本知识
jsp页面的基本组成部分:指令,表达式,小脚本,声明,注释,静态内容. 指令元素有三种: 1.page:eg <%@ page 属性名="属性值" 属性名="属性值 ...
- Webstorm 2018 激活破解
本文最后更新于 2018-5-4 可能会因为没有更新而失效.如已失效或需要修正,请留言! 问题 激活 webstorm 2018 最新版 解决步骤 License server:http://hb5. ...
- 【Shell基础】循环:for、while、until
1.for循环 ..};do echo "for loop" done 2.while循环 be_s= en_s= while [ "$be_s" -le &q ...
- shiro过滤器详解分析
(原) shiro最核心的2个操作,一个是登录的实现,一就是过滤器了.登录有时间再补录说明,这里分析下shiro过滤器怎样玩的. 1.目标 这里会按如下顺序逐一看其实原理,并尽量找出其出处. 先看一下 ...
- Springcloud zuul和shiro结合
一.目标1.外部请求统一从网关zuul进入,并且服务内部互相调用接口要校验权限 2.cloud和shiro结合,达到单点登录,和集中一个服务完成权限管理,其他业务服务不需要关注权限如何实现 3.其他服 ...
- 在IIS上搭建Exceptionless日志收集框架
系统环境要求 .NET 4.6.1,如果已安装过VS请忽略.Java Sdk1.8+,Win10环境下配置Java 环境变量参考,ElasticSearch 5.1,它是一个基于Lunce搜索服务器. ...
- 微信网页分享 jssdk config:invalid signature 签名错误
invalid signature签名错误.建议按如下顺序检查: 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisi ...
- centos关机与重启命令
Linux centos重启命令: 1.reboot 普通重启 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户 ...
- centos6.5之phpmyadmin安装
PhpMyAdmin 首先我们看一下百度百科,看一下phpmyadmin是做什么的. phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让 ...