聖盃佈局和雙飛翼佈局

聖盃佈局:css

經過float->負外邊距->父元素padding->相對定位position:relative->相對移動  實現。html

上代碼:佈局

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>聖盃佈局</title>
    <style>
        header,footer{
            width:100%;
            background-color: black;
            color:white;
            text-align:center;
        }
        header{
            height:30px;
        }
        .main,.left,.right{
            float:left;
            min-height: 300px;/*超出300就不同齊了,怎麼辦?等高列布局有待學習*/
        }
        .left,.right{
            position:relative;
        }
        .main{
            width:100%;
            background-color: #ccc;
        }
        .left{
            width:200px;
            margin-left:-100%;
            background-color: #0c0;
            left:-200px;
        }
        .right{
            width:300px;
            margin-left:-300px;
            background-color: #cc0;
            right:-300px;
        }
        .bd{
            padding:0 300px 0 200px;
        }
        footer{
            height:50px;
            clear:both;
        }
    </style>
</head>
<body>
    <header>
        header
    </header>
    <section class="bd">
        <div class="main">主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容</div>
        <div class="left">sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub susub >sub sub sub >subub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub s</div>
        <div class="right">extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra </div>
    </section>
    <footer>
        footer
    </footer>
</body>
</html>

效果:學習

雙飛翼佈局:spa

爲main加一個額外的包含標籤main-wrap,而後:float->負外邊距->.main-wrap{margin:......}。code

還能夠實現列的任意佈局,不用考慮標籤順序,實現了內容與表現解耦。試了下,響應式更好。htm

代碼:blog

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>雙飛翼</title>
    <style>
        header,footer{
            width:100%;
            background-color: black;
            color:white;
            text-align:center;
        }
        header{
            height:30px;
        }
        .main,.left,.right{
            float:left;
            min-height: 300px;/*超出300就不同齊了,怎麼辦?等高列布局有待學習*/
        }
        .main{
            width:100%;
            background-color: #ccc;
        }
        .left{
            width:200px;
            margin-left:-100%;
            background-color: #0c0;
        }
        .right{
            width:300px;
            margin-left:-300px;
            background-color: #cc0;
        }
        .main-wrap{
            margin:0 300px 0 200px;
        }
        footer{
            height:50px;
            clear:both;
        }
    </style>
</head>
<body>
    <header>
        header
    </header>
    <section class="bd">
        <div class="main">
            <div class="main-wrap">主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容主要內容</div>
        </div>
        <div class="left">sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub susub >sub sub sub >subub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub sub >sub sub s</div>
        <div class="right">extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra extra </div>
    </section>
    <footer>
        footer
    </footer>
</body>
</html>

 

tip:ip

正常的語句或漢字均可以自動換行,可是,連續的英文字母或數字會把容器撐大,而不會自動換行,想要讓它自動換行,添加如下幾句css:utf-8

word-wrap:break-word;
word-break:break-all;
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息