zoukankan      html  css  js  c++  java
  • CSS 布局总结——变宽度布局

    变宽度布局

    1-2-1 等比例变宽



    总宽度设置  85%; min- 650px; (关于IE6的min-width支持,可用)
    content 设置  66%; float: left;
    side 设置  33%; float: right;
    增加clear 空div

    HTML 结构:
    <!DOCTYPE HTML>
    <html>
    	<head>
        	<title>1-2-1 等比例变宽</title>
            <meta charset="utf-8" />        
        </head>
        
        <body>
        	<div id="header">
                <p>Header</p>
            </div>
                
            <div id="container">
                <div id="content">
                    <h2>Content Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                <div id="side">
                    <h2>Side Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                <div id="clear"></div>
            </div>
                
            <div id="footer">
    			<p>footer footer footer footer footer footer footer footer</p>
            </div>
        </body>
    </html>
    CSS:
    			body{
    				font: 13px/1.5 Arial;
    				margin: 0;
    				padding: 0;
    			}
    			#header, #container, #footer{
    				 85%;
    				margin: 10px auto;
    				min- 650px;
    			}
    			#header{
    				border: 1px solid black;
    				background-color: #666;
    			}
    			#content{
    				border: 1px solid black;
    				background-color: #999;
    				 66%;
    				float: left;
    			}
    			#side{
    				border: 1px solid black;
    				background-color: #999;
    				 33%;
    				float: right;
    			}
    			#clear{
    				clear: both;
    			}
    			
    			#footer{
    				border: 1px solid black;
    				background-color: #CCC;
    			}

    1-2-1 单列变宽


    side 固定宽度,content 随窗体宽度变化
    side设置  200px; float: left;
    在content外层增加 contentWrap,contentWrap 设置为  100%; margin-right: -220px; float: right;
    而content 设置为 margin-right: 220px;
    这样就利用了wrap实现了content的宽度为 100%-320px

    HTML 结构:
    <!DOCTYPE HTML>
    <html>
    	<head>
        	<title>1-2-1 单列变宽</title>
            <meta charset="utf-8" />        
        </head>
        
        <body>
        	<div id="header">
                <p>Header</p>
            </div>
                
            <div id="container">
                <div id="contentWrap">
                    <div id="content">
                        <h2>Content Header</h2>
                        <div class="main">
                            <p>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                            </p>
                        </div>
                    </div>
                </div>
                
                <div id="side">
                    <h2>Side Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                <div id="clear"></div>
            </div>
                
            <div id="footer">
    			<p>footer footer footer footer footer footer footer footer</p>
            </div>
        </body>
    </html>

    CSS:
    			body{
    				font: 13px/1.5 Arial;
    				margin: 0;
    				padding: 0;
    			}
    			#header, #container, #footer{
    				 85%;
    				margin: 10px auto;
    				min- 700px;
    			}
    			#header{
    				border: 1px solid black;
    				background-color: #666;
    			}
    			#contentWrap{
    				 100%;
    				margin-right: -220px;
    				float: right;
    			}
    			#content{
    				border: 1px solid black;
    				background-color: #999;
    				margin-right: 220px;
    			}
    			#side{
    				border: 1px solid black;
    				background-color: #999;
    				 200px;
    				float: left;
    			}
    			#clear{
    				clear: both;
    			}
    			#footer{
    				border: 1px solid black;
    				background-color: #CCC;
    			}

    1-3-1 单側列宽固定




    nav 固定宽度  200px; float: left;
    在content 和 side 外层增加两层 div:outerWrap 和 innerWrap 
    outerWrap 设置为  100%; margin-right: -210px; float: right;
    innerWrap 设置为 margin-right: 210px;
    然后content 和 side 相当于在 innerWrap 内部等比例变宽

    HTML结构:
    <!DOCTYPE HTML>
    <html>
    	<head>
        	<title>1-3-1 单側列宽固定</title>
            <meta charset="utf-8" />        
        </head>
        
        <body>
        	<div id="header">
                <p>Header</p>
            </div>
                
            <div id="container">
                <div id="nav">
                    <h2>Nav Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                
                <div id="outerWrap">
                	<div id="innerWrap">
                        <div id="content">
                            <h2>Content Header</h2>
                            <div class="main">
                                <p>
                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                                </p>
                            </div>
                        </div>
                        <div id="side">
                            <h2>Side Header</h2>
                            <div class="main">
                                <p>
                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
                <div id="clear"></div>
            </div>
                
            <div id="footer">
    			<p>footer footer footer footer footer footer footer footer</p>
            </div>
        </body>
    </html>

    CSS:
    			body{
    				font: 13px/1.5 Arial;
    				margin: 0;
    				padding: 0;
    			}
    			#header, #container, #footer{
    				 85%;
    				margin: 10px auto;
    				min- 800px;
    			}
    			#header{
    				border: 1px solid black;
    				background-color: #666;
    			}
    			#nav{
    				border: 1px solid black;
    				background-color: #999;
    				 200px;
    				float: left;
    			}
    			#outerWrap{
    				 100%;
    				margin-right: -210px;
    				float: right;
    			}
    			#innerWrap{
    				margin-right: 210px;
    			}
    			#content{
    				border: 1px solid black;
    				background-color: #999;
    				 66%;
    				float: left;
    			}
    			#side{
    				border: 1px solid black;
    				background-color: #999;
    				 33%;
    				float: right;
    			}
    			#clear{
    				clear: both;
    			}
    			
    			#footer{
    				border: 1px solid black;
    				background-color: #CCC;
    			}

    1-3-1 中间列宽固定


    content 宽度固定
    在 nav 和 side 分别加上外层 div :navWrap 和 sideWrap
    navWrap 设置为  50%; margin-left: -210px; float: left;
    nav 设置为 margin-left: 210px;
    同理,sideWrap 和 side 也做类似的设置

    HTML结构:
    <!DOCTYPE HTML>
    <html>
    	<head>
        	<title>1-3-1 中间列宽固定</title>
            <meta charset="utf-8" />        
        </head>
        
        <body>
        	<div id="header">
                <p>Header</p>
            </div>
                
            <div id="container">
                <div id="navWrap">
                    <div id="nav">
                        <h2>Nav Header</h2>
                        <div class="main">
                            <p>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                            </p>
                        </div>
                    </div>
                </div>
        
                <div id="content">
                    <h2>Content Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                
                <div id="sideWrap">
                    <div id="side">
                        <h2>Side Header</h2>
                        <div class="main">
                            <p>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                            </p>
                        </div>
                    </div>
                </div>
                
                <div id="clear"></div>
            </div>
                
            <div id="footer">
    			<p>footer footer footer footer footer footer footer footer</p>
            </div>
        </body>
    </html>

    CSS:
    			body{
    				font: 13px/1.5 Arial;
    				margin: 0;
    				padding: 0;
    			}
    			#header, #container, #footer{
    				 85%;
    				margin: 10px auto;
    				min- 700px;
    			}
    			#header{
    				border: 1px solid black;
    				background-color: #666;
    			}
    			#navWrap{
    				 50%;
    				margin-left: -210px;
    				float: left;
    			}
    			#nav{
    				border: 1px solid black;
    				background-color: #999;
    				margin-left: 210px;
    			}
    			#content{
    				border: 1px solid black;
    				background-color: #999;
    				 400px;
    				float: left;
    				margin-left: 10px;
    			}
    			#sideWrap{
    				 49.9%;
    				margin-right: -210px;
    				float: right;
    			}
    			#side{
    				border: 1px solid black;
    				background-color: #999;
    				margin-right: 210px;
    			}
    			#clear{
    				clear: both;
    			}
    			
    			#footer{
    				border: 1px solid black;
    				background-color: #CCC;
    			}

    1-3-1 双側列宽固定


    nav 和 side 宽度固定
    nav 设置为  200px; float: left;
    在 content 和 side 外层加上 outerWrap 和 innerWrap ,这样就相当于单列固定宽度的设置,nav 固定宽度
    然后再在 content 外层加上 contentWrap ,也相当于在 innerWrap 内部单列固定宽度设置,side 固定宽度

    HTML 结构:
    <!DOCTYPE HTML>
    <html>
    	<head>
        	<title>1-3-1 双側列宽固定</title>
            <meta charset="utf-8" />        
        </head>
        
        <body>
        	<div id="header">
                <p>Header</p>
            </div>
                
            <div id="container">
                <div id="nav">
                    <h2>Nav Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                
                <div id="outerWrap">
                	<div id="innerWrap">
                        <div id="contentWrap">
                            <div id="content">
                                <h2>Content Header</h2>
                                <div class="main">
                                    <p>
                                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                        文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                                    </p>
                                </div>
                            </div>
                        </div>
                        
                        <div id="side">
                            <h2>Side Header</h2>
                            <div class="main">
                                <p>
                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                    文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
                <div id="clear"></div>
            </div>
                
            <div id="footer">
    			<p>footer footer footer footer footer footer footer footer</p>
            </div>
        </body>
    </html>

    CSS:
    			body{
    				font: 13px/1.5 Arial;
    				margin: 0;
    				padding: 0;
    			}
    			#header, #container, #footer{
    				 85%;
    				margin: 10px auto;
    				min- 800px;
    			}
    			#header{
    				border: 1px solid black;
    				background-color: #666;
    			}
    			#nav{
    				border: 1px solid black;
    				background-color: #999;
    				 200px;
    				float: left;
    			}
    			#outerWrap{
    				 100%;
    				margin-right: -210px;
    				float: right;
    			}
    			#innerWrap{
    				margin-right: 210px;
    			}
    			#contentWrap{
    				 100%;
    				margin-left: -110px;
    				float: left;
    			}
    			#content{
    				border: 1px solid black;
    				background-color: #999;
    				margin-left: 110px;
    			}
    			#side{
    				border: 1px solid black;
    				background-color: #999;
    				 100px;
    				float: right;
    			}
    			#clear{
    				clear: both;
    			}
    			
    			#footer{
    				border: 1px solid black;
    				background-color: #CCC;
    			}

    1-3-1 中列和側列宽固定

    nav 和 content 固定宽度,side 外层加上 sideWrap ,相当于1-2-1单列变宽

    HTML 结构:
    <!DOCTYPE HTML>
    <html>
    	<head>
        	<title>1-3-1 中列和側列宽固定</title>
            <meta charset="utf-8" />        
        </head>
        
        <body>
        	<div id="header">
                <p>Header</p>
            </div>
                
            <div id="container">
            
                <div id="nav">
                    <h2>Nav Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                
                <div id="content">
                    <h2>Content Header</h2>
                    <div class="main">
                        <p>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                            文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                        </p>
                    </div>
                </div>
                
                <div id="sideWrap">
                    <div id="side">
                        <h2>Side Header</h2>
                        <div class="main">
                            <p>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本<br>
                                文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
                            </p>
                        </div>
                    </div>
                </div>
                <div id="clear"></div>
            </div>
                
            <div id="footer">
    			<p>footer footer footer footer footer footer footer footer</p>
            </div>
        </body>
    </html>
    

    CSS:
    			body{
    				font: 13px/1.5 Arial;
    				margin: 0;
    				padding: 0;
    			}
    			#header, #container, #footer{
    				 85%;
    				margin: 10px auto;
    				min- 800px;
    			}
    			#header{
    				border: 1px solid black;
    				background-color: #666;
    			}
    			#nav{
    				border: 1px solid black;
    				background-color: #999;
    				 200px;
    				float: left;
    			}
    			#content{
    				border: 1px solid black;
    				background-color: #999;
    				margin-left: 10px;
    				 400px;
    				float: left;
    			}
    			#sideWrap{
    				 100%;
    				margin-right: -620px;
    				float: right;
    			}
    			#side{
    				border: 1px solid black;
    				background-color: #999;
    				margin-right: 620px;
    			}
    			#clear{
    				clear: both;
    			}
    			
    			#footer{
    				border: 1px solid black;
    				background-color: #CCC;
    			}









  • 相关阅读:
    73. Set Matrix Zeroes
    289. Game of Live
    212. Word Search II
    79. Word Search
    142. Linked List Cycle II
    141. Linked List Cycle
    287. Find the Duplicate Number
    260. Single Number III
    137. Single Number II
    Oracle EBS中有关Form的触发器的执行顺序
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3766450.html
Copyright © 2011-2022 走看看