当前位置: 首页 > Web前端 > CSS

弹性布局_3

时间:2023-03-31 01:19:29 CSS

1。什么是Flex布局Flex是flexibleBox的缩写,意为“弹性布局”,用于为盒装模型提供最大的灵活性。任何容器都可以指定为弹性布局。链接参考2.基本概念采用Flex布局的元素称为flex容器,简称“容器”。它的所有子元素自动成为容器的成员,称为弹性项目(flexitem),简称“项目”。容器默认有两个轴:水平主轴和垂直横轴。主轴的起始位置(与边框的交点)称为mainstart,结束位置称为mainend;交叉轴的起始位置称为crossstart,结束位置称为crossend。默认情况下,项目沿主轴排列。单个item占用的主轴空间称为mainsize,占用的横轴空间称为crosssize3。属性container有6个属性:flex-directionflex-wrapjustify-contentalign-itemsflex-flowalign-content3.1flex-directionflex-direction属性决定了item的排列方向flex-direction:row|行反转|栏目|column-reverserow:水平排列row-reverse:水平反转column:垂直column-reverse:垂直反转如何换行flex-wrap:nowrap|包装|wrap-reversenowrap:默认值,不换行wrap:wrap,第一行在上面wrap-reverse:wrap,第一行在下面3.3flex-flowflex-flow属性是flex-direction属性和flex-wrap属性的简写,默认值为rownowrapflex-flow:rownowrap3.4justify-contentjustify-content属性决定了项目在主轴上的对齐方式justify-content:flex-start|弹性端|中心|间隔|space-aroundflex-start:left-alignedflex:right-alignedcenter:centeredspace-between:两端对齐,项目之间的间距相等space-around:每个项目两边的间距相等。所以项目之间的间距是项目和边框之间的间距的两倍。3.5align-itemsalign-items属性决定项目如何在横轴上对齐align-items:flex-start|弹性端|中心|基线|stretchflex-start:横轴起点对齐(从上到下)flex-end:对齐横轴终点(从下到上)center:对齐横轴中点(中间)baseline:对齐item第一行文本的基线(textbaseline)stretch:(默认值),如果item没有设置height,或者设置为auto,item会占据容器的整个高度。3.6align-contentalign-content属性定义了多个轴的对齐方式。如果项目只有一个轴,则此属性将不起作用。对齐内容:flex-start|弹性端|中心|间隔|环绕空间|stretchflex-start:与横轴起点对齐flex-end:与横轴终点对齐center:与横轴中点对齐space-between:与横轴对齐两端对齐,并且axesbetweenintervalsareevenlydistributedspace-around:每条轴两边的间隔相等。stretch:默认值,轴占据整个交叉轴4.item属性item有6个属性orderflex-growflex-shrinkflex-basisflexalign-self4.1orderorder属性定义了item的排列顺序。数字越小排列越高,默认为0order:4.2flex-growflex-grow属性定义了item的放大比例,默认为0,如果没有剩余空间,则不放大flex-grow:/*default0/4.3flex-shrinkflex-shrink属性定义了item的缩小比例,默认为1,即如果空间不足,item会收缩。flex-shrink:/default1/0不收缩,负值无效4.4flex-basisflex-basis定义item在分配额外空间之前所占用的主轴空间(mainsize)。浏览器根据这个属性计算主轴是否有多余空间。它的默认值为auto,即项目的原始大小。弹性基础:<长度>|auto可以设置为与width或者height属性相同的值(比如350px),那么item会占据固定的空间。4.5flex属性flex属性是flex-grow、flex-shrink和flex-basis的简写,默认值为01auto。最后两个属性是可选的flex:none|[<'flex-grow'><'flex-shrink'>?||<'flex-basis'>]这个属性有两个快捷键值auto(11auto)和none(00auto),建议先用这个属性,不要单独写三个单独的属性,因为浏览器会计算出相关值4.6align-selfalign-self属性允许单个项与其他项有不同的对齐方式,align-items属性可以被覆盖。默认值为auto,表示继承父元素的align-items属性。如果没有父元素,等于拉伸。对齐自我:自动|弹性启动|弹性端|中心|基线|stretch这个属性可能取6个值,除了auto,其他的和align-items属性完全一样。