弹性盒模型,flex布局
弹性盒模型
弹性盒子是css3的一种新布局模式,由容器(父元素)和项目(子元素)组成。
弹性盒子是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。
引入弹性盒模型的目的:提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白区间。
设置弹性盒子:display:flex或inline-flex; 区别:flex独占一行;inline-flex占据自己应该占据的位置,有点像inline-block,不支持margin:auto。
容器属性
1.flex-direction 确定主轴和方向
- row 默认,从左到右
- row-reverse 从右到左
- column 从上到下
- column-reverse 从下到上
2.flex-wrap 规定项目是否换行
- nowrap 默认,不换行
- wrap 换行,交叉轴从上到下
- wrap-reverse 换行,第一行在下,交叉轴从下到上
3.flex-flow 复合属性,flex-direction和flex-wrap组成的复合属性
- row nowrap 默认,从左到右不换行
4.justify-content 项目在主轴上的对齐方式
- flex-start 默认,主轴起点对齐
- flex-end 主轴终点对齐
- center 主轴居中对齐
- space-between 主轴上项目两端对齐,项目之间间隙平分空白
- space-around 主轴上的项目两侧间隔相等
5.align-content 多行项目在交叉抽(与主轴垂直)上的对齐方式,不要和align-items共存
- stretch 默认,不设置项目高度的时候,占满平分整个交叉轴
- flex-start 交叉轴起点对齐
- flex-end 交叉轴终点对齐
- center 交叉轴居中对齐
- space-between 交叉轴上项目两端对齐,项目之间间隙平分空白
- space-around 交叉轴上项目两侧间隔相等
6.align-items 单行项目在交叉轴上的对齐方式
- stretch 默认,不设置高度(竖直时)或宽度(水平时)占满整个交叉轴
- flex-start 交叉轴的起点对齐
- flex-end 交叉轴的终点对齐
- center 交叉轴的中间对齐
- baseline 文字基线对齐
项目属性
1.flex-grow 设置项目的扩大比例
- 0 默认,不扩大
- 1 项目扩大填满容器,值为1时占一份,值为2时占两份,不支持负值
2.flex-shrink 设置项目的收缩比例
- 1 默认,当容器宽度不够时,项目等比例缩小
- 0 不缩小
- 2,3...n 值越大缩小得越多
3.flex-basis 设置项目初始长度
- auto 默认,项目没有设置宽度的时候,默认内容撑开宽度
- 0 不设置初始值
- number 规定项目的初始长度
4.flex 复合写法flex:flex-grow flex-shrink flex-basis
- auto 相当于1 1 auto
- none 相当于0 0 auto
- 1 相当于1 1 0
- initial 相当于0 1 auto
5.align-self 单独控制交叉轴一个项目的对齐方式
- auto 默认值,继承父容器的align-items
- 其他属性值与align-items一样
6.order 规定项目在主轴上的排列顺序
- 0 默认,根据项目先后排列
- 整数,可为负值,数值越小排名越靠前
以上为个人理解,如有不当之处请指正!
弹性盒模型,flex布局的更多相关文章
- css 弹性盒模型Flex 布局
参考文章:http://www.runoob.com/w3cnote/flex-grammar.html Flex 布局是什么:采用Flex布局的元素,称为Flex容器(flex container) ...
- 弹性盒模型 flex box
弹性盒子模型 布局方案 传统的布局方案大多采用div+css+float+position+display来实现,但是随着css3中弹性盒子模型的推出,在前端布局方案中就又多出了一项彪悍的选项. 而因 ...
- CSS3弹性盒模型flexbox布局基础版
原文链接:http://caibaojian.com/using-flexbox.html 最近看了社区上的一些关于flexbox的很多文章,感觉都没有我这篇文章实在,最重要的兼容性问题好多人都没有提 ...
- css3弹性盒模型flex快速入门与上手(align-content与align-items)
接着上文css3弹性盒模型flex快速入门与上手1继续,上文还剩下两个父容器的属性align-items和align-content. 一.align-content:多行的副轴对齐方式 含义 多行的 ...
- CSS弹性盒模型flex在布局中的应用
× 目录 [1]元素居中 [2]两端对齐 [3]底端对齐[4]输入框按钮[5]等分布局[6]自适应布局[7]悬挂布局[8]全屏布局 前面的话 前面已经详细介绍过flex弹性盒模型的基本语法和兼容写法, ...
- 深入理解CSS弹性盒模型flex
× 目录 [1]版本更迭 [2]display [3]基本概念[4]伸缩容器[5]伸缩项目 前面的话 CSS3引入了一种新的布局模型——flex布局.flex是flexible box的缩写,一般称之 ...
- CSS弹性盒模型(flex box)
本文介绍的是 CSS3 规范中引入的新布局模型:弹性盒模型(flex box).随着响应式用户界面的流行,Web 应用一般都要求适配不同的设备尺寸和浏览器分辨率. 浏览器支持: 弹性盒布局的容器(fl ...
- CSS弹性盒模型flex概念
盒模型分为:标准w3c盒模型.IE盒模型.以及css中的伸缩盒模型. 先说CSS的伸缩盒模型:flex模型是CSS3引入的新的布局模型,是flexible box的缩写,一般称之为弹性盒模型.和CSS ...
- CSS3弹性盒模型flexbox布局
属性介绍 display: flex | inline-flex; (适用于父类容器元素上) 定义一个flex容器,内联或者根据指定的值,来作用于下面的子类容器.· box:将对象作为弹性伸缩盒显示. ...
- css3之弹性盒模型(Flex Box)
CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...
随机推荐
- 如何将自己的jar包发布到mavan中央仓库
最近自己写了一个关于网关限流的插件,然后想着肯定会有很多兄弟也需要使用到,所以就想着把jar包上传到Maven的中央仓库上让大家可以更方便的使用 现在咱们来看一下这个流程是什么样的呢. 首先呢,你得去 ...
- iTerm2 使用笔记
iTerm2 使用了1年多了,一些功能其实还没有主动去发现,这次接着项目忙完的空闲时间整理一下tips,提高工作效率,方便以后查阅. 一.几个术语 从小到大:session > pane > ...
- Python安装模块的几种方法
一.方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包,进行解压,进入模块文件夹,执行:python setup.py i ...
- Python - Fabric简介
1 - Fabric Fabric是一个Python的库,提供了丰富的同SSH交互的接口,可以用来在本地或远程机器上自动化.流水化地执行Shell命令. 非常适合用来做应用的远程部署及系统维护.简单易 ...
- 原生JS实现弹幕效果
纯属无聊写的,可能有很多问题,欢迎批评指教. 效果图:图一是预设的一些弹幕,图二是自己发射的弹幕,效果是一样的. 首先是弹幕的位置,是要从最右滑到最左,为了防止随机高度弹幕会覆盖的问题,设置了通道 ...
- 【ABP框架系列学习】模块系统(4)之插件示例开发
0.引言 上一篇博文主要介绍了ABP模块及插件的相关知识,本章节主要开发一个插件示例来学习如何创建一个插件,并在应用程序中使用.这个命名为FirstABPPlugin的插件主要在指定的时间段内删除审计 ...
- odoo开发笔记 -- self详解
python中一切皆对象! odoo基于python开发,那么odoo中也可以理解成一切皆对象. 我们在python中定义类的时候,一般会用到self,用来表示当前对象自己. 那么odoo中的self ...
- 剑指offer例题分享--7
前言:继续前面的分享... 面试题31: 代码如下: #include<iostream> #include<limits.h> using namespace std; bo ...
- Chapter 4 Invitations——3
Edward was never surrounded by crowds of curious by standers eager for his firsthand account. Edward ...
- 精读《dob - 框架使用》
本系列分三部曲:<框架实现> <框架使用> 与 <跳出框架看哲学>,这三篇是我对数据流阶段性的总结,正好补充之前过时的文章. 本篇是 <框架使用>. 1 ...