先看看效果(1)左边固定宽度,右边自适应

<!DOCTYPE html>
<html>
<head>
    <title>shengbei</title>
    <meta charset="utf-8" />
    <style type="text/css">
        *{
            margin:0px;
            padding: 0px;
        }
    
        p{
            padding: 20px;
        }
        #container{
            margin:0 auto;
            width: 1000px;
            overflow: hidden;
            padding-left: 210px;
            text-align: center;
        }
        #main{
            float: left;
            width: 100%;
            background: yellow;
        }
        #aside{
            
            float: left;
            margin-left:-100%;
            width: 200px;
            position:relative;
            left:-210px;
            background: red;
            
        }
    </style>
</head>
<body>
<div id="container">
    <div id="main"><p>主栏目</p></div>
    <div id="aside"><p>左侧栏目</p></div>
</div>
</body>
</html>

基本原理:1.首先在一个大的container里包含2个div;

     2.设置主窗口左浮动float,且窗口宽度为100%;(主窗口占据div的全部宽度,这样左窗口即使浮动也会被挤压到下一行,第2步解决该问题)

     3.设置左侧窗口左浮动float,设置左外边距为-100%;(这样可以使左窗口与主窗口在一行上,但是此时左窗口会覆盖主窗口一部分,第4’5步解决该问题)

     4.设置container容器的padding-left为210px,稍微大于左窗口,同时留出2个窗口的外边距

     5.最后设置左窗口的的位置position设置为relative,left=-210px,使其紧靠container的左侧,同时与主窗口有一定的外边距。

再看效果(2)右窗口固定宽度,主窗口自适应

<!DOCTYPE html>
<html>
<head>
<meta charset="utf8">
    <title></title>
    <style type="text/css">
        *{
            padding: 0px;
            margin:0px;
        }
        p{
            padding: 20px;
        }
        #container{
            width:1000px;
            margin:0 auto;
            padding-right: 210px;
        }
        #main{
            width:100%;
            float: left;
            background: red;
        }
        #aside{
            float: left;
            width:200px;
            margin-left: -200px;
            background: yellow;
            position: relative;
            right:-210px;
        }
    </style>
</head>
<body>
<div id="container">
    <div id="main"><p>主栏目</p></div>
    <div id="aside"><p>测栏目</p></div>
</div>
</body>
</html>

基本原理:

     1.首先在一个大的container里包含2个div;

     2.设置主窗口左浮动float,且窗口宽度为100%;(主窗口占据div的全部宽度,这样右窗口即使浮动也会被挤压到下一行,第2步解决该问题)

     3.设置右窗口左浮动float,设置左外边距为-200px;(这样可以使右窗口与主窗口在一行上,但是此时右窗口会覆盖主窗口一部分,第4’5步解决该问题)

     4.设置container容器的padding-left为210px,稍微大于左窗口,同时留出2个窗口的外边距

     5.最后设置左窗口的的位置position设置为relative,left=-210px,使其紧靠container的左侧,同时与主窗口有一定的外边距。

2种布局的基本原理一致。

             转载请注明出处,谢谢

posted on 2016-02-29 14:18  北冥鱼鱼鱼  阅读(204)  评论(0编辑  收藏  举报