flex盒子布局

it蛋散 it蛋散     2022-10-04     313

关键词:

看过很多对于弹性盒子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 布局以后,子元素的floatclearvertical-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,还没有弹性。这些盒子都... 查看详情