• 弹性盒子模型使用技巧


      很早之前就学过了弹性盒子,就感觉自己什么都学会了,没想到到了实际的运用过程中,其实并不是那么一回事,自己根本想不到会用到哪些属性,该怎么使用。

      这一次就只把我使用过程中遇到的一些坑来总结一下。

      使用弹性盒子的情况还是需要去看布局的,这个属性使用起来非常爽,不需要考虑那么多,直接几行代码就完成了之前浮动布局要完成的情况,而且自适应页面的能力也要强出好多,不需要自己再去调整好久的样式像素。

      直接上布局的样子吧。

        页面一

      

      比如说上面的样式,你们可能有别的更好的布局思路,可以分享一下的哈。 我就说说我猜到的坑,因为之前根本就没有这样去写过,所以有一些细节的部分根本没有考虑过,后来写过一次之后,在看到这种布局就变得容易多了。

      布局思路

        一般我们都会把一个页面分为三部分,我们把最上面的设备监控是头部

        内容部分为中间的那一大堆

        底部就是下面的三个按钮的那一些

      布局思路大概是下面的代码那个样子的,中间的部分肯定是要自适应的了,直接把剩下的高度都占满。

      

    #box{
         100%;
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .header{
        height: 100px;
    }
    .content{
        flex-grow: 1;   // 这里的这个属性  因为之前用这个用的少,所以没有想到,这个属性是定义项目放大比例,默认是0,将他规定一下,然后就会把剩余的空间都给占掉
    }
    .footer{
        height: 200px;
    }
    
    
    <div id="box">
        <div class="header"></div>
        <div class="content"></div>
        <div class="footer"></div>
    </div>

      重点的是中间的那一部分,因为中间部分下面的表格部分超出之后要出现滚动条,所以就是表格内容的高度的父元素的高度我拿不准,最开始直接用的是rem给写死了,后来发现有很多弊端,因为是第一次写这样的页面所以讲下面的那个没有考虑到的属性。

      中间的部分分为两部分,黄色的一部分,六个框框,用的弹性盒子,把他们的宽度写成百分比平分,三个分一行,用的33.3%,

      大概代码就是下面的样子的。

      

    ul{
        display: flex;
        flex-wrap: wrap;
    }
    ul li{
        width: 33.3%;
        height: xxx;
    }
    
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>

      下面的那个表格要超出出现滚动条,刚才说了我第一次布局的过程中把他父元素的高度给写死了,然后在自适应的过程中出现了一些问题,可以把中间的部分也写成一个弹性盒子,然后上面的那个八个黄色框框的父元素高度给定住,然后下面的部分用到那个flex-grow属性,直接把下面的那一些东西都给占住。

      大概和最开始头部中间部分底部的布局差不多。

      

      页面二

      

      还是只看中间的部分吧

      中间的部分是左右划分的,所以也可以使用弹性盒子,左右的宽度用百分比规定好, 30%  70% 然后就可以横排显示,注意写好他们的高度

      右边部分又分为上下两部分

      这里是右边上半部分的布局,写的好多了,所以也就没有考虑其他的东西了,左右部分大概就两种写法了我

      第一种

        左边用rem固定死, 右边使用flex-grow 分配多余的剩余的空间。

      第二种

        两部分都使用百分比

       里面的小东西在使用自己的方式写就好了,右边的绿色的也可以使用弹性盒子。

    页面三

      

      也是只介绍一下中间的部分吧。分为左右部分,然后内容超出之后也要出现滚动条。

      这一种的头部,内容部分,底部用到的还是最开始讲的那种,中间部分占掉剩余下来的空间。

      中间的部分分为左右两部分,高度的话因为使用了flex-grow这个东西,所以把黄色盒子应该还有一个父元素和他一样大,不说了,上代码吧

      这里大概模拟一下中间的代码

    这个就是中间的所有的东西,大概就是content的高度是中间部分的实际高度, 左部分 div.left部分的东西的高度写成100%,适应到中间部分的所有高度,然后设置超出产生滚动条  overflow:scroll,里面的ul就直接那样就可以了,把ul设置成弹性盒子,然后里面的东西多的话就会超过 div.left的高度,然后就会产生滚动条了,同理 右边的大概也是这样的。

      感觉今天会加班,然后头有点疼就想写点东西,没想到直接可以下班了~~~

      坚持写完了,如果你看了我的文章学到了东西我会非常高兴的,回家咯 嘿嘿

  • 相关阅读:
    SSM中(Spring-SpringMVC-Mybatis)(一:概念)
    java中的==和equals()
    JAVA之二叉查找树
    Java中堆与栈
    java的运行机制(基础)
    覆盖(重写),重构,重载的区别
    JAVA多线程基础
    java中的类修饰符、成员变量修饰符、方法修饰符
    JAVA中的流程控制语句
    JAVA中的构造函数
  • 原文地址:https://www.cnblogs.com/z937741304/p/9531545.html
Copyright © 2020-2023  润新知