web前端学习记录2(css常用布局)

总结几种常见的布局方式,练练手。

行布局

基础的行布局
行布局自适应
行布局自适应限制最大宽
行布局垂直水平居中

列布局

两列布局固定,两列布局自适应(float,百分比)
三列布局固定,三列布局自适应

圣杯布局

三栏布局,中间宽度自适应,两边定宽;
中间栏要在浏览器中优先展示渲染;
允许任意列的高度最高;
用最简单的css、最少的hack语句

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style type="text/css">
        *{margin: 0;padding: 0;}
        body{min-width: 700px;}
        .header,
        .footer {
            float: right;
            width: 100%;
            background: #ddd;
            height: 40px;
            line-height: 40px;
            text-align: center;
        }
        .left,
        .right,
        .middle {
            position: relative;
            float: left;
            min-height: 300px;
        }
        .container {
            padding: 0 220px 0 200px;
        }
        .middle {
            width: 100%;
            background: #1a5acd;
        }
        .left {
            width: 200px;
            background: #f00;
            margin-left: -100%;
            left: -200px;
        }
        .right {
            width: 220px;
            background: #30a457;
            margin-left: -220px;
            right: -220px;
        }
    </style>
</head>
<body>
    <div class="header">
        <h4>header</h4>
    </div>
    <div class="container">
        <div class="middle">
            <h4>middle</h4>
            <p>中间内容</p>
        </div>
        <div class="left">
            <h4>left</h4>
            <p>左边内容</p>
        </div>
        <div class="right">
            <h4>right</h4>
            <p>右边内容</p>
        </div>
    </div>
    <div class="footer">
        <h4>footer</h4>
    </div>
</body>
</html>

双飞翼布局

Holy Grail的升级版,去掉相对布局,只用浮动和负边距

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style type="text/css">
        *{margin: 0;padding: 0;} 
        body{min-width: 700px;}
        .header,
        .footer {
            width: 100%;
            float: left;
            height: 40px;
            background: #dddddd;
            text-align: center;
            line-height: 40px;
        }
        .sub,
        .main,
        .extra {
            float: left;
            min-height: 300px;
        }
        .main {
            width: 100%;
        }
        .main-inner {
            margin-left: 200px;
            margin-right: 220px;
            background: #30a457;
            min-height: 300px;
        }
        .sub {
            width: 200px;
            background: #f00;
            margin-left: -100%;
        }
        .extra {
            width: 220px;
            background: #1a5acd; 
            margin-left: -220px;
        }
    </style>
</head>
<body>
    <div class="header">
        <h4>header</h4>
    </div>
    <div class="main">
        <div class="main-inner">
            <h4>main</h4>
            <p>content</p>
        </div>
    </div>
    <div class="sub">
        <h4>sub</h4>
        <p>content</p>
    </div>
    <div class="extra">
        <h4>extra</h4>
        <p>content</p>
    </div>
    <div class="footer">
        <h4>footer</h4>
    </div>
</body>
</html>

第一阶段总结

后面还要找个时间做几遍案例的网页,然后总结出来常用的几个方式。