效果如图:

代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>flex项目属性</title>
</head>
<body>
<style>
.container {
width: 80%;
height: 600px;
border: 1px solid cadetblue;
margin: 20px auto;
/* 把这个容器变成弹性盒子 */
display: flex;
}
h5,
h4,
h6 {
margin: 10px auto;
text-align: center;
}
.container div,
.container span {
width: 100px;
height: 100px;
border: 1px solid crimson;
margin: 10px;
text-align: center;
line-height: 30px;
font-size: 12px;
}
.container-a div:nth-of-type(2) {
/* order: integer; */
/* order,定义弹性盒子里面某一个项目的排序位置,一般都是默认0,同时根据 */
order: -1;
flex-grow: 2;
}
.container-a div:nth-of-type(3) {
flex-grow: 10;
}
.container-a div:nth-of-type(1) {
flex-shrink: 10;
}
.container-a span:nth-of-type(1) {
flex-basis: 150px;
}
.container-a span:nth-of-type(2) {
flex: 1 1 150px;
}
.container-a span:nth-of-type(3) {
align-self: center;
border: 5px solid chocolate;
}
</style>
<h5>flex弹性盒子里面的项目属性</h5>
<div class="container container-a">
<span>版块s-a-flex-basis: 150px;</span>
<span>版块s-b-flex: 1 1 150px;</span>
<span>版块s-c:align-self: center;</span>
<div>版块div-a-flex-shrink: 10;</div>
<div>版块div-b-order: -1; flex-grow: 2;</div>
<div>版块div-c-flex-grow: 10;</div>
</div>
<dl>order——定义弹性盒子里面某一个项目的排序位置,一般盒子里面所有的项目序号都是0,是根据项目本身的顺序来排序。</dl>
<dd>1.假如某一个项目的order:1,那么,它并不是第一位,它将是最后一位,因为其他的都是0</dd>
<dd>2.假如想让一个项目排在最前面,在其他项目order不变的情况下,这个项目的order:-1,这样设置才对</dd>
<ul>
<li>
flex-grow---弹性盒子里面某个项目的放大比例
<ol>
<li>flex-grow:盒子容器里面的项目一般都默认为1,就是的原比例,不缩放。</li>
<li>flex-grow:2,该项目的所占宽度增加到默认不缩放值的2倍。</li>
<li>但是,flex-grow:10,当容器扩大时,该项目的宽度并不一定会增加到10倍。</li>
</ol>
</li>
<li>
flex-shrink——当外面的弹性盒子容器缩小时,里面某个项目的缩写比例。
<ol>
<li>flex-shrink:1;默认的比例</li>
<li>flex-shrink:2,相对于容器内的其他项目宽度缩小两倍;</li>
<li>注意1:这个flex-shrink项目属性和上面的flex-grow属性都有个共同点,就是都必须在外盒子容器的宽度发生变化时才会发生变化。</li>
<li>注意2:当盒子容器宽度变大时:flex-grow才有效;当盒子容器宽度变小时,flex-shrink才有效;</li>
</ol>
</li>
<li>
flex-basis---定义盒子容器里面某个项目的宽度
<ol>
<li>flex-basis:auto;默认自动</li>
<li>flex-basis:300px;宽度设定为300px,</li>
<li>注意:这是其他容器内的项目标准宽度时,该项目的宽度。随着容器宽度的变化,该项目宽度仍然会变化。</li>
</ol>
</li>
<li>
flex——简写
<ol>
<li>flex:1,1,200px;</li>
<li>flex:flex-grow,flex-shrink,flex-basis;</li>
<li>flex:none;===flex:0,0,auto;</li>
<li>flex:auto;===flex:1,1,auto;</li>
</ol>
</li>
<li>
align-self:容器内某个项目的对齐方式
<ol>
<li>align-self:flex-start;向左对齐</li>
<li>注意:align-self:center;是该项目在容器内原有位置上的左右居中,并不是完全在容器内居中。</li>
</ol>
</li>
</ul>
</body>
</html>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号