首页 >web前端 >html教程 >常见的两列、三列布局,宽高自适应_html/css_WEB-ITnose

常见的两列、三列布局,宽高自适应_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-21 08:57:111167浏览

今天是猴年的第一天班,也是新的起点。分享一个如何用css实现我们在工作中常见的两列布局:1.左侧固定宽度,高度自适应右侧;2.左侧宽度高度固定,右侧自适应宽高;3.左侧、右侧固定宽,中间自适应。

1.左侧固定宽度,高度自适应右侧

  • 效果图

pic1.png

pic2.png

  • html+css
    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>左侧固定宽,自适应右侧高度</title><style>    .main{        position: relative;        color: #fff;    }    .left{        position: absolute;        top: 0;        left: 0;        bottom: 0;        width: 300px;        background: #f00;    }    .right{        height: 200px;        margin-left: 300px;        background: #000;    }</style></head><body><div class="main">    <div class="left">left</div>    <div class="right">right</div></div></body></html>
    你看代码,左侧确实没有定高,右侧也没有定宽。

2.左侧宽度高度固定,右侧自适应宽高

  • 效果图

pic3.png

  • html+css
    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>左侧宽度高度固定,右侧自适应宽高</title> <style>     .main{         overflow: hidden;         color: #fff;     }     .left{         float: left;         width: 300px;         height: 200px;         background: #f00;     }     .right{         margin-left: -300px;         padding-bottom: 9999px;         margin-bottom: -9999px;         background: #000;     } </style></head><body> <div class="main">     <div class="left">left</div>     <div class="right">right</div> </div></body></html>
    你看代码,左侧确实定了宽高,右侧宽高都没有定。

3.左侧、右侧固定宽,中间自适应

  • 效果图

pic4.png

pic5.png

  • html+css
    <!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>左侧、右侧固定宽,中间自适应</title>  <style>      .fl{          float: left;      }      .main{          color: #fff;      }      .center{          background: #9A0069;          width: 100%;          height: 300px;      }      .center .content{          padding: 0 100px;      }      .left{          width: 100px;          height: 300px;          margin-left: -100%;          background: #009A61;      }      .right{          width: 200px;          height: 300px;          background: #00529A;          margin-left: -200px;      }  </style></head><body>  <div class="main">      <div class="center fl">          <div class="content">              center          </div>      </div>      <div class="left fl">left</div>      <div class="right fl">right</div>  </div></body></html>
    你看代码,左侧、右侧都固定了宽度,中间宽度自适应了。关键点是:float:left配合margin-left使用。同时center的div写在了左右的前面,更加符合语义化。

但我们这里高度是写死的,如何实现既保持“左右固定宽,中间自适应”,又能够以一边的高度为基准,其他两个高度自适应呢? 你可以参考1,2的代码来实现,这里就不写了。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn