首页 > 网站 > WEB开发 > 正文

17.(初级)CSS弹性盒flex

2024-04-27 15:19:45
字体:
来源:转载
供稿:网友

一、弹性盒子基础结构

<div id=”flex_box”>         ------->弹性容器

    <div id=”flex1”>1</div>  ------->弹性项1

    <div id=”flex2”>2</div>  ------->弹性项2

    <div id=”flex3”>3</div>  ------->弹性项3

</div>

二、弹性容器属性

1、设置元素变成弹性盒

display:flex;

2、flex-flow

值一:设置弹性项控制弹性项目的排列方向(行或列),值二:控制弹性项能否换行

flex-flow:row(默认)/row-reverse/column/column-reverse  nowarp/warp/warp-reverse;

说明:

属性值1:

row(默认):弹性容器宽度足够时,弹性项并排显示。

column:弹性容器高度足够时,弹性项并列显示。

属性值2:

nowarp:无论浏览器多窄,都不换行。

warp:自动换行。

例如:

1、不允许换行

#flexs_box{    display: flex;    display: -webkit-flex;    width: 50%;    height: 50%;    flex-flow: row nowrap;}#flexs_box div{    width: 30%;    height: 20%;}

 

2、 允许换行

#flexs_box{    display: flex;    display: -webkit-flex;    width: 50%;    height: 50%;    flex-flow: row wrap;}#flexs_box div{    width: 30%;    height: 20%;}

3、justify-content

设置弹性项目水平对齐方式。

!弹性容器宽度/高度必须足够。

justify-content:flex-start/flex-end/center/space-between/space-around

说明:

flex-start:靠左对齐

flex-end:靠右对齐

center:居中对齐

space-between:根据宽度/高度均布均布弹性项,最左及最右不均布

space-around:完全根据宽度/高度均布均布弹性项,包括最左及最右。

 

 4、align-items

设置所有弹性项目纵向对齐方式。

align-items:flex-start/flex-end/center/baseline/stretch(默认)

说明:

flex-start:顶对齐

flex-end:底对齐

center:纵向居中对齐

baseline:弹性项第一行对齐

stretch:顶和底对齐

 

5、align-content

align-content属性有效条件:

1、必须允许换行

2、弹性容器高度满足

多弹性项换行情况纵向对齐方式。

align-content:flex-start/flex-end/center/space-between/space-around/stretch

说明:

flex-start:顶对齐

flex-end:底对齐

center:纵向居中对齐

space-between:第一行弹性项顶对齐,最后一行弹性项底对齐

space-around:纵向平均分布,包括最上最下

stretch:拉伸各项弹性项,设置成相同高度

 

6、order

设置弹性项显示的先后顺序:order:-1/1/2....

例如:

<div id="banner">    <p class="logo">Our Company</p>    <a href="#">Home</a>    <a href="#" class="heightlight">About Us</a>    <a href="#">Content</a></div>

    #banner{        display: flex;        display: -webkit-flex;        align-items:flex-end;        background: #000;        color: #ffffff;        padding: 20px;        padding-bottom: 0px;    }    p{        font-size: 20px;        margin: 0;    }    a{        color:#fff;        display:inline-block;        padding: 5px 10px;        padding-bottom: 2px;        text-decoration: none;        background: #666;        margin-left: 5px;        border-radius: 3px 3px 0 0;    }    .heightlight{        background:#ccc;    }

未设置margin-right: auto;

 

!设置margin-right: auto;意思是让浏览器把右边可用的部分利用起来。    .logo{        margin-right: auto;    }

 

三、弹性项属性

1、align-self:

设置单个弹性项目纵向对齐方式。

flex1{

    align-self:xxxx;

}

2、flex

flex:flex-grow flex-shrink flex-basic;

说明:

flex-grow:所占宽/高比例:

    0:宽度为flex-basic

    ≥1:弹性容器减去flex-basic,剩余值按比例划宽/高

flex-shrink:弹性项宽/高变化率,值越大变化量越大

flex-basic:弹性项最小宽/高,作用控制何时换行,响应式设计中的断点。

例如:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表