IT评测·应用市场-qidao123.com技术社区

标题: 少小白学前端——css篇(flex结构) [打印本页]

作者: 河曲智叟    时间: 2024-9-11 20:52
标题: 少小白学前端——css篇(flex结构)
一、根本概念

flex结构,也就是常说的弹性结构,具有很强的灵活性,是一种常用结构方式,根本语法:
  1. .box {
  2.         display: flex;
  3.         display: -webkit-flex; /* Safari */
  4. }
复制代码
其中,采用该样式的元素被称为容器(container),而它的子元素则称为item。
容器上默认有两根轴线:水平的主轴(main axis)和垂直的交织轴(cross axis),子元素item则根据轴线排列。
注意:利用flex结构时,子元素的float、clear和vertical-align属性将失效。
二、容器属性

容器有六个属性:
1.flex-direction:规定item的排列方向,其值有:

2.flex-wrap:规定item一行放不下时,是否换行,其值有:

3.flex-flow:该属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
  1. .box {
  2.   flex-flow: <flex-direction> <flex-wrap>;
  3. }
复制代码
4.justify-content:该属性规定了item在主轴上的对齐方式,其值有:

5.align-items:该属性规定了item在交织轴上的对齐方式,其值有:

6.align-content:规定了多条轴线时的对齐方式,单条轴线无作用,其值有:

三、item的属性

1.order:定义item的排列顺序,数值越小,排列越靠前,默以为0。
2.flex-grow:定义item的放大比例,默以为0。
(条件是有剩余空间,无剩余空间不放大。另外,只设置一个item时,将会占满剩余空间,图左)
(图右flex-grow分别为2、1、0,item3的flex-grow为0,所以是默认宽度,剩余空间由item1和item2按2:1比列平分)

3.flex-shrink:定义了item的缩小比列,默以为1,负数无效。
(条件是空间不足,没有换行,默认全都缩小,图左。)
(图右:flex-shrink为0时,表现不缩小,如item1;item2为2,别的为默认值1)

4.flex-basis:规定item占据空间的巨细,默以为auto。
  1. .item {
  2.   flex-basis: <length> | auto | content; /* default auto */
  3. }
复制代码
如果设为多少px(好比200px),则item将占据固定值(200px)的空间,跟设置width差不多。
如果设为content,则会根据内容设置巨细,下图item1和item2。

5.flex:该属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为“0 1 auto”,后两个属性可选。
  1. .item {
  2.   flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
  3. }
复制代码
6.align-self:允许单个item有与其他item不一样的对齐方式,可覆盖align-items属性,默认值为auto。继承父元素的align-items属性,如果没有父元素,则等同于stretch。
  1. .item {
  2.   align-self: auto | flex-start | flex-end | center | baseline | stretch;
  3. }
复制代码
(下图item2值为flex-end,item3值为center )

(大概就这样吧,截图好累啊!!!)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4