zoukankan      html  css  js  c++  java
  • 左侧区域固定,右侧区域自适应

      发现好玩的问题,思考并解答是一个很快乐的过程~

      浏览博问时看到了一个 div + css 布局问题,需要左侧区域宽度固定,右侧区域自动填满。

      这样的需求有时候会在项目中遇到,正巧碰见了做个记录以备后用。

      有很多的结题思路,这里先说一个立马想到的解决方法:

      1、想要实现左侧固定很好办,直接给固定 width 就好了。

      2、而右侧的宽度自适应,又不能通过 jquery 来获取宽度计算并设置,那就只能通过 width 100% 来设置。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset='utf-8'>
            <style>
                .leftPart {
                    background: grey;
                    width: 400px;
                    height: 200px;
                }
                .rightPart {
                    height: 200px;
                    background: black;
                    width: 100%;
                }
            </style>
        </head>
        <body>
            <div class='leftPart'></div>
            <div class='rightPart'></div>
            <script>
    
            </script>
        </body>
    </html>

      3、那为了使他俩一行,就得对一个做 position absolute 处理,当然要 position 固定宽度的啦!给他加一个 position 属性。

    .leftPart {
        position:absolute;
    }

      4、一行了之后,右侧内容要与左侧内容分开,那就得右侧加个padding-left 来将左侧区域的位置让出来。多加 10px 给点距离。

    .rightPart {
        padding-left: 410px;
    }

      5、这样还不美,那右侧怎样才能向左侧区域独立出来呢,万一里面元素要position 啥的不还得算padding-left?那麻烦死了,于是乎在里面加个div,设置宽高 100%。这样右侧区域也独立出来了。

    <div class='rightPart'>
        <div class='rightContent'></div>
    </div>
    
    .rightPart {
        height: 200px;
        padding-left: 410px;
    }
    .rightContent {
        background: grey;
         100%;
        height: 100%;
    }

      最终我们实现出了效果:

      完全代码:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset='utf-8'>
            <style>
                .leftPart {
                    position:absolute;
                    background: grey;
                    width: 400px;
                    height: 200px;
                }
                .rightPart {
                    height: 200px;
                    padding-left: 410px;
                }
                .rightContent {
                    background: grey;
                    width: 100%;
                    height: 100%;
                }
            </style>
        </head>
        <body>
            <div class='leftPart'></div>
            <div class='rightPart'>
                <div class='rightContent'></div>
            </div>
            <script>
    
            </script>
        </body>
    </html>
  • 相关阅读:
    什么是Flex 布局
    wx.navigateTo、wx.redirectTo和wx.switchTab三种导航方式的区别
    Ajax 工作原理 及 实例
    NodeJS之 Express框架 app.use(express.static)
    Parcel 入门 (一)
    打包工具的介绍
    CSS网页布局
    《拖延心理学》阅读要点
    PHP实现页面静态化
    PHP中的魔术方法
  • 原文地址:https://www.cnblogs.com/guofan/p/7698496.html
Copyright © 2011-2022 走看看