上下固定中間自適應布局


1. 使用絕對定位

對這三欄都實現絕對定位,其中中間絕對定位的位置是上下兩欄的高度,內容超出則中間部分出現流動條;

代碼實現:

 

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>絕對定位實現</title>

    <style type="text/css">

        html,body,div{

            padding:0;

            margin:0;

        }

        .header{

            position:absolute;

            top:0; /*頭部絕對定位位置*/

            height:100px;

            width:100%;

            background: red;

        }

        .footer{

            position:absolute;

            bottom:0;/*尾部絕對定位位置*/

            height:100px;

            width:100%;

            background:yellow;

        }

        .main{

            position:absolute;

            width:100%;

            top:100px; /*中間自適應部分絕對定位位置,top是頭部的高度*/

            bottom:100px; /*bottom是尾部的高度*/

            background: #ccc;

            overflow:auto; /*超出的部分,滾動條顯示*/

        }

    </style>

</head>

<body>

    <div class="container">

        <div class="header">我是頭部</div>

        <div class="main">

            我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>

            我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>

            我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>

            我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>

        </div>

        <div class="footer">我是尾部</div>

    </div>

</body>

</html>

 

 

2. 使用flex布局

還可以使用flex布局實現這一布局,將flex-direction設置為column,定義排列方向為豎排,還需注意的是要定義頁面的整體高度為100%

 

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>flex布局實現</title>

    <style type="text/css">

        html,body{

            padding:0;

            margin:0;

            height:100%; /*定義頁面整體高度為100%,重要*/

        }

        .container{

            display:flex; /*父元素的定義為flex布局*/

            height:100%; /*這里也要定義,重要*/

            width:100%;

            flex-direction: column; /*定義排列方向為豎排*/

        }

        .header{

            height:100px; /*頭部固定高度*/

            background: red;

        }

        .footer{

            height:100px; /*尾部固定高度*/

            background: yellow;

        }

        .main{

            background: #ccc;

            flex:1; /*中間分配剩下的所有空間*/

            overflow:auto;

        }

    </style>

</head>

<body>

    <div class="container">

        <div class="header">我是頭部</div>

        <div class="main">

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

            我是flex布局實現的中間自適應<br>我是flex布局實現的中間自適應<br>

        </div>

        <div class="footer">我是尾部</div>

    </div>

</body>

</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM