欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

float布局

程序员文章站 2022-04-25 15:54:07
...

圣杯布局和双飞翼布局的目的

1、三栏布局,中间一栏最先加载和渲染(内容最重要)
2、两侧内容固定,中间内容随着宽度自适应
3、一般用于PC网页

圣杯布局和双飞翼布局的技术总结

1、使用float布局
2、两侧使用margin负值,以便和中间内容横向重叠
3、防止中间内容被两侧覆盖,一个用padding 一个用margin

一、圣杯布局

<style type="text/css">
        body {
            min-width: 550px;
        }
        #header {
            text-align: center;
            background-color: #f1f1f1;
        }

        #container {
            padding-left: 200px;
            padding-right: 150px;
        }
        #container .column {
            float: left;
        }

        #center {
            background-color: #ccc;
            width: 100%;
        }
        #left {
            position: relative;
            background-color: yellow;
            width: 200px;
            margin-left: -100%;
            right: 200px;
        }
        #right {
            background-color: red;
            width: 150px;
            margin-right: -150px;
        }

        #footer {
            text-align: center;
            background-color: #f1f1f1;
        }

        /* 手写 clearfix */
        .clearfix:after {
            content: '';
            display: block;
            height:0;
            visibility: hidden;
            clear: both;
        }
    </style>
<div id="header">this is header</div>
    <div id="container" class="clearfix">
        <div id="center" class="column">this is center</div>
        <div id="left" class="column">this is left</div>
        <div id="right" class="column">this is right</div>
    </div>
<div id="footer">this is footer</div>

二、双飞翼布局

<style type="text/css">
        body {
            min-width: 550px;
        }
        .col {
            float: left;
        }

        #main {
            width: 100%;
            height: 200px;
            background-color: #ccc;
        }
        #main-wrap {
            margin: 0 190px 0 190px;
        }

        #left {
            width: 190px;
            height: 200px;
            background-color: #0000FF;
            margin-left: -100%;
        }
        #right {
            width: 190px;
            height: 200px;
            background-color: #FF0000;
            margin-left: -190px;
        }
    </style>
    
    <div id="main" class="col">
        <div id="main-wrap">
            this is main
        </div>
    </div>
    <div id="left" class="col">
        this is left
    </div>
    <div id="right" class="col">
        this is right
    </div>

三、手写clearfix

.clearfix:after {
	content: ' ';
	height: 0;
	display: block;
	visibility: hidden;
	clear: both;
}
.clearfix {
	*zoom: 1;        /*兼容 IE 低版本*/
}
相关标签: float