结合CSS3的布局新特征谈谈常见布局方法

2020-05-07 06:47:44易采站长站整理

2、双飞燕布局

布局的效果跟圣杯的一样,代码有所不同。双飞燕布局的代码更加简单,只是多加了一个div用来布局。
基础布局部分代码一样。

main部分:

CSS Code复制内容到剪贴板

<style>   
    #main {overflow: hidden;zoom: 1;}/*这里不需要加padding了*/  
    .m_content, .m_leftside, .m_rightside {float: left;}   
    .m_content {width: 100%;}   
    /*用左右边距将左右边栏的位置预留出来*/  
    .m_c_wrap {margin-left: 220px;margin-right:300px;}   
    .m_leftside {width: 220px;margin-left: -100%;}   
    .m_rightside {width: 300px;margin-left: -300px;}   
</style>   
  
<div id="main">   
    <div class="m_content">   
        <!–正真的主体开始–>   
        <div class="m_c_wrap">这里是主体</div>   
    </div>   
    <div class="m_leftside">这是左侧边栏</div>   
    <div class="m_rightside">这是右侧边栏</div>   
</div>   
  

了解了以上两种布局的方法后,很多布局都能写得得心应手了。但是应对多栏等高布局还有点欠缺。那么现在来谈谈多栏等高布局的方法。

3、多栏等高布局

这里详细总结了等高布局的八大方法 Click,我再谈谈实际项目中比较常用的,或者说比较简单的三种方法。

图片模拟

比如我们需要做一个上图的布局,那么需要截取这样一个侧边的小图片对侧边和内容部分包裹的元素进行背景平铺,用来模拟出侧边栏的高度跟内容高度一致的视觉效果。

4、table布局

只需要将需要等高的若干栏设置display属性为table-cell;若其中一列希望是自适应宽度,还需将父元素的display设置成table,width为100%。

代码如下:

CSS Code复制内容到剪贴板

<style>   
    #main {display: table;width: 100%}   
    .m_content {display: table-cell;width: auto;}   
    .m_rightside {display: table-cell;width: 200px;}