zoukankan      html  css  js  c++  java
  • CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)

         经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题。

         下面我们分别来学习下,当然我也是总结下而已,有如以下方法:

         一: 右侧固定宽度 左侧自适应

      第一种方法:左侧用margin-right,右侧float:right  就可以实现。

        HTML代码可以如下写:
        <div class="box-left">
            <a href="" target="_blank">我是龙恩</a>
        </div>

      <div class="box-right">
            <a href="" target="_blank">我是龙恩</a>
        </div>

      CSS代码可以如下写:

        .box-left{height:300px;margin-right:300px;background:#DDD;}
        .box-right{300px;height:300px;float:right;background:#AAA;}

        如上代码就可以实现效果。

        第2种方法:左侧同样用margin-right  右侧采用绝对定位 如下代码所示:

        HTML代码如下:

        <div class="bd">
            <div class="bd-left">
                <a href="" target="_blank">我是龙恩</a>
            </div>
            <div class="bd-right">
                <a href="" target="_blank">我是龙恩</a>
            </div>
        </div>

     CSS代码如下:

     .bd{position:relative;}
     .bd-left{height:300px;;margin-right:300px;background:#DDD;}
     .bd-right{300px;height:300px;position:absolute;top:0;right:0;background:#AAA;}

     第三种方法:右侧浮动 且 用负margin值

     HTML代码如下:

     <div class="wrap">
            <div class="wrap-left">
                <div class="left-con">
                    <a href="" target="_blank">我是龙恩</a>
                </div>
            </div>
            <div class="wrap-right">
                <a href="" target="_blank">我是龙恩</a>
            </div>
        </div>

      CSS代码如下:

      .wrap{overflow:hidden;background:#EEE;}
      .wrap-right{300px;position:relative;float:right;margin-left:-300px;background:#AAA;}
      .wrap-left{100%;float:left;}
      .left-con{margin-right:300px;background:#DDD;}
      .left-con,.wrap-right{height:300px;}

    以上是我总结的三种html css 两列布局方法(左侧自适应 右侧固定),如有不足的地方 请大家多多指教。下面我们来看看三列布局(左右固定 中间自适应的情况)。

     二:左右固定 中间自适应的情况

     我目前总结了2种方法 如下:

     第一种:左右侧采用浮动 中间采用margin-left 和 margin-right 方法。

     代码如下:

       <div style="100%; margin:0 auto;">
           <div style="200px; float:right; background-color:#960">这是右侧的内容 固定宽度</div>
           <div style="150px; float:left; background:#6FF">这是左侧的内容 固定宽度</div>
           <div style="margin-left:150px;margin-right:200px; background-color:#9F3">中间内容,自适应宽度</div>
        </div>

     第二种:左右两侧采用绝对定位 中间同样采用margin-left margin-right方法:

     HTML代码如下:

     <div class="l-sidebar"></div>
     <div class="mainbar"></div>
     <div class="r-sidebar"></div>

    CSS代码如下:

     .l-sidebar {
       200px;
       height:500px;
       position:absolute;
       top:0;
       left:0;
       background:blue;
    }
    .mainbar {
       margin-left:200px;
       height:500px;
       margin-right:300px;
       background:green;
    }
    .r-sidebar {
       300px;
      height:500px;
       position:absolute;
      top:0;
       right:0;
       background:blue;
    }

    以上是我们日常工作中的一些总结!如有不足的地方 请留言!!一起互相讨论学习!

  • 相关阅读:
    Atitit.js图表控件总结
    atitit.attilax的软件 架构 理念.docx
    Atitit.异常处理 嵌套  冗长的解决方案
    Atitit.异常处理 嵌套  冗长的解决方案
    Atitit.atiagent  agent分销系统 代理系统 设计文档
    Atitit.atiagent  agent分销系统 代理系统 设计文档
    Atitit ati licenseService    设计原理
    Atitit ati licenseService    设计原理
    Atitit.项目修改补丁打包工具 使用说明
    Atitit.项目修改补丁打包工具 使用说明
  • 原文地址:https://www.cnblogs.com/tugenhua0707/p/3484685.html
Copyright © 2011-2022 走看看