flex布局一些常用属性

目录

一、父盒子常设置的属性

1.设置display:flex

2.设置主轴flex-direction

flex-direction:row(主轴为x轴,从左向右)-不设置时默认的格式
flex布局一些常用属性
flex-direction:row-reverse(主轴为x轴,从右向左,此时首页已经从最左边,变到最右边了,相对于第一种来说逆序)
flex布局一些常用属性
flex-direction:column(主轴为y轴,从上向下)
flex布局一些常用属性
flex-direction:column-reverse(主轴为y轴,从下向上)
flex布局一些常用属性

3.设置主轴内元素的排列格式:justify-content

justify-content:flex-start(靠左,之间没有间距)-不设置时默认的格式
flex布局一些常用属性
justify-content:flex-end(靠右,之间没有间距)
ps:注意区分该项与flex-direction:row-reverse的区别, justify-content:flex-end保持了首页、分类、购物车、我的这样一个顺序,而flex-direction:row-reverse的顺序完全是反的。
flex布局一些常用属性
justify-content:center(居中,之间没有间距)
flex布局一些常用属性
justify-content:space-around (平分该行的间距)
flex布局一些常用属性
justify-content:space-between (先两边贴边再平分剩余空间)
flex布局一些常用属性

4.元素在一行上摆不开flex-wrap

flex-wrap:nowrap;不设置时,默认子元素不换行,增加元素,会缩小每个元素的大小,将新元素塞到一行里
flex布局一些常用属性
flex-wrap:wrap;放不下就换行
flex布局一些常用属性

5.设置侧轴元素的排列方式(适合单行元素的情况)—设置盒子在水平居中,并且侧轴居中;align-items

align-items:center;设置侧轴居中;主侧轴同时居中效果如下
flex布局一些常用属性
align-items:stretch;子元素不设置高度时,沿着侧轴拉伸
flex布局一些常用属性
这里学到了一个效果:比如将页面分为上下两个部分,上面固定高度,下面部分延伸剩余高度
这里附上一个链接https://blog.csdn.net/milijiangjun/article/details/108221092

6.设置侧轴上子元素的排列方式(多行)align-content

align-content:center;
flex布局一些常用属性
align-content:space-between;(两边会贴着侧轴的上下沿)
flex布局一些常用属性

7.flex-direction与flex-wrap可以用一个属性同时表示flex-flow flex-flow:column wrap

flex布局一些常用属性

二、子项常见属性

flex项目占的份数:flex,从剩余空间里分布,数字表示占多少份

flex:1;剩余空间都占了;

父盒子width:400px;首页和购物车宽度各占100px,中间占剩余200px
flex布局一些常用属性

设置盒子里的元素平均分配:

子元素没设置宽度的时候

<template>
<div>
<div class="tabar">
  <div class="tabar-item">1</div>
  <div class="tabar-item">2</div>
  <div class="tabar-item">3</div>
</div>
</div>
</template>
<script>
export default {

}
</script>

<style>
.tabar{
    width:600px;
    height:400px;
    display:flex;
    flex-flow: row wrap;
}
.tabar .tabar-item{
    flex:1;
    background-color: aqua;
}
</style>

效果图:
flex布局一些常用属性
平分的基础上,某个盒子想多占几分
eg:平分的基础上,第二个盒子想占两份

<style>
.tabar{
    width:600px;
    height:400px;
    display:flex;
    flex-flow: row wrap;
}
.tabar div{
    flex:1;
    background-color: aqua;
}
.tabar div:nth-child(2){
    flex:2;
    background-color:brown;
}
</style>

效果图:
flex布局一些常用属性

控制子项自己在侧轴的排列方式align-self

允许多个子盒子里面的某一个与其他盒子的对齐方式不一样

只有第二个盒子在侧轴方向是flex-end

<style>
.tabar{
    width:600px;
    height:400px;
    display:flex;
    flex-flow: row wrap;
}
.tabar div{
    flex:1;
    background-color: aqua;
}
.tabar div:nth-child(2){
    flex:2;
    align-self: flex-end;
    background-color:brown;
}
</style>

效果图:
flex布局一些常用属性

改变盒子之间的排列顺序order

不改变div之间的代码结构顺序,只通过css来改变;最前面的order:0,之后依次1,2,3;越小越靠前
eg:设置第二个盒子在最前面,改变第二个盒子里的order;设置到最前面要比0小;故order:-1

<style>
.tabar{
    width:600px;
    height:400px;
    display:flex;
    flex-flow: row wrap;
}
.tabar div{
    flex:1;
    background-color: aqua;
}
.tabar div:nth-child(2){
    flex:2;
    align-self: flex-end;
    order:-1;
    background-color:brown;
}
</style>

效果图:
flex布局一些常用属性

上一篇:android11墓碑机制和addr2line使用


下一篇:(马世龙)Linux下CACTI完全搭建技术文档二