栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

CSS实现页面两列布局与三列布局的方法示例

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CSS实现页面两列布局与三列布局的方法示例

1. 使用BFC的原理实现
BFC的规则之一,就是BFC区域,不会与float box重叠,因此我们可以利用这一点来实现3列布局。
html代码如下
XML/HTML Code复制内容到剪贴板
  
  •   
  •    css代码如下
    CSS Code复制内容到剪贴板
    1. .left {   
    2.   float: left;   
    3.   margin-right: 10px;   
    4.   width: 100px;   
    5.   height: 100px;   
    6.   background-color: orange;   
    7. }   
    8. .rightright {   
    9.   float: rightright;   
    10.   margin-left: 10px;   
    11.   width: 100px;   
    12.   height: 100px;   
    13.   background-color: orange;   
    14. }   
    15. .main {   
    16.   height: 100px;   
    17.   background-color: green;   
    18.   overflow: hidden;   
    19. }  
    2.双飞翼布局
    这种布局方案最早由淘宝提出,主要为了主列能够被最先加载。
    实现原理:
    (1)让主列外面添加一个wrap,主列wrap,以及2子列都左浮动。
    (2)设置主列wrap宽度为100%,将子列的margin-left设置为负值,让子列能够排列在左右两侧。
    (3)这是主列的margin-left与margin-right比左右两列的宽度大一点,则可以设置出来主列与子列之间的间隙。
    html代码如下
    XML/HTML Code复制内容到剪贴板
    1.   
    2.     
    3.     
      
  •     
  •     
  •     
  •   
  • css代码如下
    CSS Code复制内容到剪贴板
    1. .wrap {   
    2.   width: 100%;   
    3. }   
    4. .wrap::after {   
    5.   display: block;   
    6.   content: '';   
    7.   font-size: 0;   
    8.   height: 0;   
    9.   clear: both;   
    10.   zoom: 1;   
    11. }   
    12. .main-content {   
    13.   float: left;   
    14.   width: 100%;   
    15. }   
    16. .main {   
    17.   height: 100px;   
    18.   background-color: green;   
    19.   margin-left: 110px;   
    20.   margin-right: 110px;   
    21. }   
    22. .left {   
    23.   float: left;   
    24.   width: 100px;   
    25.   height: 100px;   
    26.   background-color: orange;   
    27.   margin-left: -100%;   
    28. }   
    29. .rightright {   
    30.   float: left;   
    31.   width: 100px;   
    32.   height: 100px;   
    33.   background-color: orange;   
    34.   margin-left: -100px;   
    35. }  
    3.圣杯布局
    圣杯布局在结构上要简单一点,也能够让主列优先加载。
    实现原理:
    (1)添加一个包裹框,设置padding-leftpadding-right值,比子列宽度大一个空隙的宽度。
    (2)主列,子列都设置为float: left 左子列margin-left设置为-100%,并且设置为position:relative; left: -110px将左子列放置到左侧。右子列同理。
    (3)主列只需设置宽度为100%即可。包裹框的宽度不要设置为100%,自适应即可。
    html代码如下
    XML/HTML Code复制内容到剪贴板
    1.   
    2.     
    3.     
    4.     
    5.   
    css代码如下
    CSS Code复制内容到剪贴板
    1. .wrapper {   
    2.   padding-left: 110px;   
    3.   padding-right: 110px;   
    4.   overflow: hidden;   
    5. }   
    6. .main {   
    7.   float: left;   
    8.   width: 100%;   
    9.   height: 100px;   
    10.   background-color: #ccc;   
    11. }   
    12. .left {   
    13.   float: left;   
    14.   width: 100px;   
    15.   height: 100px;   
    16.   margin-left: -100%;   
    17.   position: relative;   
    18.   left: -110px;   
    19.   _left: 0;   
    20.   background-color: orange;   
    21. }   
    22. .rightright {   
    23.   float: left;   
    24.   width: 100px;   
    25.   height: 100px;   
    26.   background-color: orange;   
    27.   margin-left: -100px;   
    28.   position: relative;   
    29.   rightright: -110px;   
    30. }  
    下面再给出一个高度占满全屏的例子:
    CSS Code复制内容到剪贴板
    1.      

    2. http://www.w3.org/1999/xhtml">     
    3.      
    4.          
    5.          
    6.          
    7.         body, html {     
    8.             margin: 0px;     
    9.         }     
    10.         #header {     
    11.             background: blue;     
    12.             height: 100px;     
    13.             width: 100%;     
    14.             position: relative;      
    15.             top: 0;     
    16.         }     
    17.             #header #h_menu {     
    18.                 position:absolute;     
    19.                 bottombottom:0;     
    20.                 background:yellow;     
    21.                 width:100%;     
    22.                 height:50px;     
    23.             }     
    24.         #middle {     
    25.             position:absolute;     
    26.             width:100%;     
    27.             height:auto;     
    28.             top: 100px;     
    29.             bottombottom:50px;                       
    30.         }     
    31.         .left {     
    32.             width: 15%;         
    33.             background: red;     
    34.             float: left;     
    35.             height:100%;     
    36.         }     
    37.         .rightright {     
    38.             width: 15%;       
    39.             height: 100%;     
    40.             background: pink;     
    41.             float: rightright;     
    42.         }     
    43.         .center {     
    44.             height: 100%;     
    45.             background: green;     
    46.                  
    47.                  
    48.             margin: auto;         
    49.                  
    50.                  
    51.         }     
    52.         #footer {     
    53.             background: blue;     
    54.             height: 50px;     
    55.             width: 100%;     
    56.             position: absolute;     
    57.             bottombottom: 0;     
    58.         }     
    59.          
    60.      
    61.      
    62.          
    63.      
    64.      
    65.     
    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/217644.html

    CSS教程相关栏目本月热门文章

    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号