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

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>左边定宽,右边自适应</title>
        <style>
            /* 基本样式 */
    
            .wrapper {
                padding: 15px 20px;
                border: 1px dashed #ff6c60;
            }
    
            .left {
                 120px;
                border: 5px solid #ddd;
            }
    
            .right {
                margin-left: 20px;
                border: 5px solid #ddd;
            }
    
            /******************** 左侧 float, 右侧 margin-left ***********************/
    
            .wrapper-float .left {
                float: left;
            }
    
            .wrapper-float .right {
                margin-left: 150px;
            }
    
            /******************** 左侧 float, 右侧 BFC ***********************/
    
            .wrapper-float-bfc .left {
                float: left;
            }
    
            .wrapper-float-bfc .right {
                overflow: hidden;
            }
    
            /******************** 左侧 绝对定位, 右侧 margin-left ***********************/
    
            .wrapper-absolute .left {
                position: absolute;
            }
    
            .wrapper-absolute .right {
                margin-left: 150px;
            }
    
            /******************** flex布局 ***********************/
    
            .wrapper-flex {
                display: flex;
            }
    
            .wrapper-flex .left {
                flex: none;
            }
    
            .wrapper-flex .right {
                flex: auto;
            }
    
            /******************** grid布局 ***********************/
    
            .wrapper-grid {
                display: grid;
                grid-template-columns: 120px 1fr;
            }
    
            /*********** 左右 inline-block, 然后右侧 calc 计算宽度 ******************/
    
            .wrapper-inline-block {
                font-size: 0;
            }
    
            .wrapper-inline-block .left,
            .wrapper-inline-block .right {
                display: inline-block;
                vertical-align: top;
                font-size: 14px;
                box-sizing: border-box;
            }
    
            .wrapper-inline-block .right {
                 calc(100% - 140px);
            }
    
            /******************** 左右 float, 然后右侧 calc 计算宽度 ***********************/
    
            .wrapper-double-float .left,
            .wrapper-double-float .right {
                float: left;
                box-sizing: border-box;
            }
    
            .wrapper-double-float .right {
                 calc(100% - 140px);
            }
        </style>
    </head>
    
    <body>
        <div style="padding: 20px 20px;">
            <span style="color: #ff6c60;">选择不同的方案查看效果:</span>
            <select id="select">
                <option value="0">双 inline-block 方案</option>
                <option value="1">双 float 方案</option>
                <option value="2">float + margin-left方案</option>
                <option value="3">float + BFC方案</option>
                <option value="4">absolute + margin-left方案</option>
                <option value="5">flex 方案</option>
                <option value="6">grid 方案</option>
            </select>
        </div>
        <div style="padding: 20px;">
            <span style="color: #ff6c60;">选择右侧不同的高度:</span>
            <select name="" id="changeHeight">
                <option value="1">右侧很低</option>
                <option value="0">右侧很高</option>
    
            </select>
        </div>
        <div class="wrapper wrapper-inline-block" id="wrapper">
            <div class="left">
                左边固定宽度,高度不固定,</br>
                </br>
                </br>
                </br>
                高度有可能会很小,也可能很大。
            </div>
            <div class="right">
                这里的内容可能比左侧高,也可能比左侧低。宽度需要自适应。</br>
                基本的样式是,两个div相距20px, 左侧div宽 120px
            </div>
        </div>
        <script>
            var wrapper = document.querySelector('#wrapper')
            document.querySelector('#select').addEventListener('change', function (event) {
                var value = event.target.value
                switch (+value) {
                    case 0: wrapper.className = 'wrapper wrapper-inline-block';
                        break;
                    case 1: wrapper.className = 'wrapper wrapper-double-float';
                        break;
                    case 2: wrapper.className = 'wrapper wrapper-float';
                        break;
                    case 3: wrapper.className = 'wrapper wrapper-float-bfc ';
                        break;
                    case 4: wrapper.className = 'wrapper wrapper-absolute';
                        break;
                    case 5: wrapper.className = 'wrapper wrapper-flex';
                        break;
                    case 6: wrapper.className = 'wrapper wrapper-grid';
                        break;
                }
            })
            var rightDiv = document.querySelector('.right')
            document.querySelector('#changeHeight').addEventListener('change', function (event) {
                var value = event.target.value
                switch (+value) {
                    case 0: rightDiv.style.height = "700px";
                        break;
                    case 1: rightDiv.style.height = "auto";
                        break;
                }
            })
        </script>
    </body>
    
    </html>
    

      

    原文:https://zhuqingguang.github.io/2017/08/16/adapting-two-layout/

  • 相关阅读:
    POJ3693 Maximum repetition substring —— 后缀数组 重复次数最多的连续重复子串
    SPOJ
    POJ2774 Long Long Message —— 后缀数组 两字符串的最长公共子串
    POJ3261 Milk Patterns —— 后缀数组 出现k次且可重叠的最长子串
    POJ1743 Musical Theme —— 后缀数组 重复出现且不重叠的最长子串
    SPOJ
    AC自动机小结
    HDU3247 Resource Archiver —— AC自动机 + BFS最短路 + 状压DP
    POJ1625 Censored! —— AC自动机 + DP + 大数
    Herding
  • 原文地址:https://www.cnblogs.com/shen076/p/12643818.html
Copyright © 2011-2022 走看看