CSS固定宽度的三列布局运用实例解析

固定宽度三列布局

这很基础,我们直接看代码便能明白:

XML/HTML Code复制内容到剪贴板 <div id="wrapper">    <div id="header">header</div>    <div id="body" class="cls">     <div id="aside">      <div class="inner">       aside        <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>      </div>     </div>     <div id="content" class="cls">      <div id="main">       <div class="inner">        main         <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>       </div>      </div>      <div id="content-aside">       <div class="inner">        content-aside         <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>       </div>      </div>         </div>    </div>    <div id="footer">footer</div>   </div>  CSS Code复制内容到剪贴板 #headerwidth980pxheight90pxmargin: 0 autobackground#f60;}    #bodywidth980pxmargin: 0 auto;}    #asidefloatleftwidth240pxbackground#ccc;}    #content{ margin-left240px;}    #mainfloatleftwidth540pxbackground: pink;}    #content-aside{  floatleftwidth200pxbackground: orange; }    #footerwidth980pxheight90pxmargin: 0 autobackground#08f;}  

实例:实现三列图片等宽等间距布局

每个图片块左浮动,宽30%,左外边距2.5%:
100%=(2.5%+30%)+(2.5%+30%)+(2.5%+30%)+2.5%

CSS Code复制内容到剪贴板 <!DOCTYPE html>     <html>     <head>     <meta charset="utf-8">     <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0">     <title>三列图片等宽布局</title>     <style>     * {         margin: 0;         padding: 0;     }     img {         displayblock;         width: 30%;         margin: 2.5% 0 0 2.5%;         floatleft;     }     </style>     </head>     <body>     <div>     <img src="byd.jpg" /><img src="byd.jpg" /><img src="byd.jpg" />     <img src="byd.jpg" /><img src="byd.jpg" /><img src="byd.jpg" />     <img src="byd.jpg" /><img src="byd.jpg" /><img src="byd.jpg" />     </div>         </body>     </html>   

width: 30%; 表示父级元素宽度的30%.
height: 30%; 如果没有设置父级元素的具体高度,那么这个height是没有效果的.
要实现响应式的正方形,可以使用单位vw(Viewport Width):

CSS Code复制内容到剪贴板 .square {         width: 30%;         height: 30vw;         backgroundurl("byd.jpg"no-repeat scroll center 0 transparent;         background-size: 100% 100%;         margin: 2.5% 0 0 2.5%;         floatleft;     }   

不过需要注意的是,低版本IE和低版本Android/iOS浏览器都不支持视窗(viewport)单位.
或者使用JS根据宽设置高,保证兼容性:

JavaScript Code复制内容到剪贴板 <script src="jquery.js"></script>     <script>     $(document).ready(function(){         $("img").height($("img").width());     });     $(window).resize(function(){         $("img").height($("img").width());     });     </script>   

百分比布局也可以看做是一种响应式布局.
简单实用的 百分比布局 还是很适合手机WAP页面布局的:

CSS Code复制内容到剪贴板 min-width:320px;     max-width:980px;     width:100%;     overflow-x: hidden;     margin: 0 auto;   

最小宽度320px,最大宽度980px,在320px和980px之间自动适应宽度,看起来还行.
在<img>标签里只用设置width属性百分比值,比如width="40%",不用设置height属性,这样图片能够自行按原比例缩放.
容器里面的块,同样可以用百分比布局,比如左边的60%,右边的40%.

CSS固定宽度的三列布局运用实例解析