2021-07-12

熟练运用flex-grow 与flex-shrink

截屏2021-07-13 上午9.02.18.png

flex-grow:定义项目的的放大比例

    默认为0,即 即使存在剩余空间,也不会放大;
   所有项目的flex-grow为1:等分剩余空间(自动放大占位);
   flex-grow为n的项目,占据的空间(放大的比例)是flex-grow为1的n倍。

flex-shrink:定义项目的缩小比例

    默认为1,即 如果空间不足,该项目将缩小;
     所有项目的flex-shrink为1:当空间不足时,缩小的比例相同;
     flex-shrink为0:空间不足时,该项目不会缩小;
     flex-shrink为n的项目,空间不足时缩小的比例是flex-shrink为1的n倍。

代码如下:

    <template>
        <view class="mainArea">
            <view class="areaOne">
                <view class="areaOneLeft">
                    了解flex-grow与flex-shrink
                </view>
                <view class="areaOneRight">
                    点击有无反应
                </view>
                
            </view>
            <view class="areaTwo">
                区域2
            </view>
            <view class="arearThree">
                <view   class="leftButton" @click="selectedBtn(0)"   :class="{'activeBtn':selectedNum==0}">
                    左侧按钮
                    
                </view>
                <view class="middleButton" @click="selectedBtn(1)"   :class="{'activeBtn':selectedNum==1}">
                    中间按钮
                    
                </view>
                <view class="rightButton" @click="selectedBtn(2)"    :class="{'activeBtn':selectedNum==2}">
                    右侧按钮
                    
                </view>
            </view>
        </view>
        
</template>
<script>
    export default {
        data() {
            return {
                title: 'Hello',
                selectedNum:0
            }
        },
        onLoad() {

        },
        methods: {
            selectedBtn(a){
            this.selectedNum=a;
         }
        }
    }
</script>

<style>
    
    .mainArea{
    display: flex;  
    flex-direction: column;
    height: 94vh;
    }
   .areaOne{
       background-color: #007AFF;
       height: 35px;
       display: flex;
       flex-direction: row;
    }
    .areaOneLeft{
        width: 100%;
    }
    .areaOneRight{
        flex-shrink: 0;
        text-align: right;
        border: solid 1px #FFFFFF;
    }
    .areaTwo{
       background-color: #4CD964;
       flex-grow: 1;
       text-align: center;
     }
    .arearThree{
        background-color: #999999;
        height: 50px;
        display: flex;
        flex-direction: row;
        justify-content: space-around;
    }
    .arearThree view{
        border: solid  1px #333333;
        padding: 10px;
        flex-grow: 1;
        text-align: center;
    }
    .activeBtn{
        background-color: #007AFF;
        color: #FFFFFF;
    }
    
</style>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 以下题目都是在面试过程中整理的 答案不是标准。如有雷同纯属耦合,可与博主及时联系 1、基本数据类型和引用数据类型 ...
  • 闭包以及应用场景 作用域作用域决定了代码区块中变量、函数、对象和其他资源的可见性全局作用域、函数作用域和块级作用域...
    大话程序阅读 748评论 0 5
  • blossom html css JavaScript 程序员入门的时候整理的一份学习笔记,见证了我的成长备份 标...
    blossom_绽放阅读 1,048评论 0 2
  • 废话少说,本文分四个部分,css、js、知识点一、知识点二、React(部分问题没有给出答案,后续更新) css面...
    666同学阅读 1,143评论 0 0
  • 目录 标准盒模型和怪异盒模型 link标签和import标签的区别 flex布局 BFC 垂直居中的方法 块元素和...
    Grandperhaps阅读 455评论 0 4