关键词:
看过很多对于弹性盒子flex的简介,但还是觉得阮一峰大神的解析和张鑫旭大神(旧版flex)的解析比较容易理解,下面,我以自己的理解来叙述关于flex弹性布局!
1.概念(容器和项目)
在flex中,有容器和项目之分,但也只是相对的,假如说:div1里面有div2,div2里面有div3,而且他们都被定义为flex盒子:
div1相对于div2来说就是容器,div2相对于div1来说就是项目
div2相对于div3来说就是容器,div3相对于div2来说就是项目
这里的div2,既是容器,也是项目,取决与他的相对位置是谁。
2.对弹性盒子的定义
一般来说,只要父级被定义了display:flex;那么父级元素和里面的子集元素都会被定义为弹性盒子,孙子级别的标签却不会,如果想要成为弹性盒子,则需要在对应的子级元素上定义display:flex;
3.写在容器上的属性
- flex-direction[
row | row-reverse | column | column-reverse]
row
(默认值):主轴为水平方向,起点在左端。
row-reverse
:主轴为水平方向,起点在右端。
column
:主轴为垂直方向,起点在上沿。
column-reverse
:主轴为垂直方向,起点在下沿。
- flex-wrap[
nowrap | wrap | wrap-reverse
]
nowrap
(默认):不换行
wrap
:换行,第一行在上方
wrap-reverse
:换行,第一行在下方
- flex-flow[
<flex-direction> || <flex-wrap>
](是flex-direction
属性和flex-wrap
属性的简写形式,默认值为row nowrap
)
- justify-content[
flex-start | flex-end | center | space-between | space-around
]
flex-start
(默认值):左对齐
flex-end
:右对齐
center
: 居中
space-between
:两端对齐,项目之间的间隔都相等。
space-around
:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。
- align-items[
flex-start | flex-end | center | baseline | stretch
]
flex-start
:交叉轴的起点对齐。
flex-end
:交叉轴的终点对齐。
center
:交叉轴的中点对齐。
baseline
: 项目的第一行文字的基线对齐。
stretch
(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
- align-content[
flex-start | flex-end | center | space-between | space-around | stretch
]
flex-start
:与交叉轴的起点对齐。
flex-end
:与交叉轴的终点对齐。
center
:与交叉轴的中点对齐。
space-between
:与交叉轴两端对齐,轴线之间的间隔平均分布。
space-around
:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
stretch
(默认值):轴线占满整个交叉轴。
4.写在项目上的属性
order[Number]
(定义项目的排列顺序。数值越小,排列越靠前,默认为0。)
flex-grow[Number](定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。)
flex-shrink[Number](定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小)
flex-basis[
<length> | auto
](定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小)
flex(是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选)
align-self[
auto | flex-start | flex-end | center | baseline | stretch]
- auto:自动
flex-start
:与交叉轴的起点对齐。
flex-end
:与交叉轴的终点对齐。
center
:与交叉轴的中点对齐。baseline
:与交叉轴两端对齐,轴线之间的间隔平均分布。
stretch
(默认值):轴线占满整个交叉轴。
注意:设为 Flex 布局以后,子元素的float
、clear
和vertical-align
属性将失效。
(完!)
flex布局的盒子模型
flex盒子模型由容器(flexcontainer)以及容器的直接子元素(flexitem)组成。以容器(flexcontainer)定义,有主轴(mainaxis)以及交叉轴(crossaxis),主轴的开始位置(与边框的交叉点)叫做mainstart,结束位置叫做mainend.交叉轴的开始位... 查看详情
css3弹性盒子布局(display:flex)
1.把大盒子叫“容器”,里面的小盒子叫“项目”,“容器”设置display:flex时,具有弹性盒子功能。2.主轴和交叉轴 默认情况下,主轴和x轴相同,交叉轴和y轴相同。弹性盒子默认会按主轴x轴排列。3.“容器”内的属性 ... 查看详情
flex弹性盒子布局
首先,设置伸缩盒的display有如下两个属性值:flex:将容器盒模型作为块级弹性伸缩盒显示inline-flex:将容器盒模型作为内联级弹性伸缩盒显示代码如下:/*大部分不需要前缀*/div{display:flex;}弹性布局的八个常用属性:1.flex-direction... 查看详情
css基础-弹性盒子模型-flex布局
flex布局提供一种对容器中条目更方便地进行布局,控件分配,和对齐的方式。flex布局的容器能够根据窗口大小变化而改变条目的大小和位置,以呈现最佳的显示效果,它的优势在于开发者可只需要申明容器或其子条目的布局的... 查看详情
弹性盒子布局
最近在开发公司的平台系统,因为该项目主要是运行在移动端,所以采用了flex弹性布局。flex布局用起来很灵话,提高了开发效率。而且性能貌似比传统的浮动布局好。 1.首先声明父元素布局方式为弹性布局 display:-we... 查看详情
flex弹性盒子布局(详细)(代码片段)
弹性盒模型1、伸缩容器displayFlex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。采用Flex布局的元素,称为Flex容器(flexcontainer),简称”容... 查看详情
flex弹性盒子布局(详细)(代码片段)
弹性盒模型1、伸缩容器displayFlex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。采用Flex布局的元素,称为Flex容器(flexcontainer),简称”容... 查看详情
flex弹性盒子布局
一、在需要使用弹性盒子的容器上添加属性:display:flex或者display:inline-flex;二、在父容器上添加flex-direction设置子元素主轴方向:不写默认值是X轴从左到右row:X轴从左到右row-reverse X轴从右到左column Y轴从上到下column-reverseY... 查看详情
css之flex布局(灵活盒子)
这里纯当自己的笔记,相看解释的还是去链接吧打开了新世界的大门标记一下:中文,阮一峰的博客,语法:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 实例:http://www.ruanyifeng.com/blog/2015/07/flex-examples.html里面有英文版的链接... 查看详情
css3网页布局flex盒子模型
1.0前言网页布局(layout)是CSS的一个重点应用。经典布局类型:布局的传统解决方案,基于盒状模型,依赖display属性+position属性+float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C提出了一种... 查看详情
flex布局(弹性盒子)(代码片段)
网页布局(layout)是CSS的一个重点应用。布局的传统解决方案,基于盒状模型,依赖 display 属性+ position属性+ float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C提出了一种新的... 查看详情
认识弹性盒子flex
-----------------------------弹性布局------------------------------------------------------1、定义弹性布局(父级上定义)display:flex;如果说内核为webkit的必须前面加上-webkit-flex------------------------------------------------ 查看详情
弹性盒子布局:语法
块级元素转换成弹性盒子:{display:flex}行内元素转换成弹性盒子:{display:inline-flex}1.flex-direction:用来确认主轴的方向 row(从左向右)相对于row-reverse(从右向左) column(从上向下)相对于column-reverse(从下向上)2.flex-... 查看详情
flexbox弹性盒子布局
父元素:display:-webkit-flex;①子元素:flex:1;(设置占比)计算规则:父元素会将所有子元素的flex相加求和后,算其子元素比例。②flex混合划分;第一个子元素width:100px;第二个子元素flex:2第三个子元素flex:1 关于不定宽高的... 查看详情
css3flex盒子布局
<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title></title><styletype="text/css">*{margin:0;padding:0;}.nav{display:-webkit-flex;background-color:lightgree 查看详情
flex弹性盒子的使用(代码片段)
前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新! CSS3引入了一种新的布局模型——flex布局。flex是flexiblebox的缩写,一般称之为弹性盒模型。flex布局提供一种更加有效的... 查看详情
css3弹性盒子--布局
使用弹性盒子兼容低端适配有时需要:display:flex和display:-webkit-box display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:colum 查看详情
flex布局实例教程(代码片段)
...列布局,划分比例大概如下图:操作步骤:1做个DIV容器盒子main,它就是主要的盒子。2再放各个盒子,一共五个,五个盒子挤在了一起,因为他们没有分配比例,也就没有按比例布满它们的父盒子main,还没有弹性。这些盒子都... 查看详情