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

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

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

  第一种方法:左侧用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{width: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{width: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{width:300px;position:relative;float:right;margin-left:-300px;background:#AAA;}
  .wrap-left{width: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="width:100%; margin:0 auto;">
       <div style="width:200px; float:right; background-color:#960">这是右侧的内容 固定宽度</div>
       <div style="width: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 {
   width:200px;
   height:500px;
   position:absolute;
   top:0;
   left:0;
   background:blue;
}
.mainbar {
   margin-left:200px;
   height:500px;
   margin-right:300px;
   background:green;
}
.r-sidebar {
   width:300px;
  height:500px;
   position:absolute;
  top:0;
   right:0;
   background:blue;
}

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

CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)的更多相关文章

  1. 【转】CSS深入理解流体特性和BFC特性下多栏自适应布局

    这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinx ...

  2. 你不知道的css各类布局(三)之自适应布局

    自适应布局 概念 自适应布局(Adaptive Layout)是对凡是有自适应特性的一类布局的统称 自适应布局使用media query来检测当前浏览器的宽度进而通过CSS样式调整页面大小.自适应布局 ...

  3. css经典布局之左侧固定大小右侧自动适应

    最近学习了一种经典布局,固定左侧或右侧的宽度,另一侧自适应宽度,此种布局挺常用,尤其是像后台,大部分都是采用这种结构,还比如像订餐类的APP,进入商家的时候,会出现一堆饭的列表,左侧是饭的分类,右侧是 ...

  4. 网页html结构右侧栏固定,左侧自适应大小。

    最近写了一个项目,写页面的结构,html树形结构是有header,container,footer部分,其中container部分是右侧栏是固定宽度,左侧是自适应宽度与屏幕高度. 第一次写的博客文章是 ...

  5. 为iPhone6设计自适应布局

    Apple从iOS6加入了Auto Layout后开始就比较委婉的开始鼓励.建议开发者使用自适应布局,但是到目前为止,我感觉大多数开发者一直在回避这个问题,不管是不是由于历史原因造成的,至少他们在心底 ...

  6. 为iPhone6 设计自适应布局(一)

    译者的话:本文是自适应布局的巩固篇,所以对布局约束的添加操作步骤等没有详细的说明.如果看着吃力的话请先移步Swift自适应布局(Adaptive Layout)教程. Apple从iOS6加入了Aut ...

  7. 为iPhone6设计自适应布局(一)

    译者的话:本文是自适应布局的巩固篇,所以对布局约束的添加操作步骤等没有详细的说明.如果看着吃力的话请先移步Swift自适应布局(Adaptive Layout)教程. Apple从iOS6加入了Aut ...

  8. 为iPhone 6设计自适应布局

    Apple从iOS 6加入了Auto Layout后开始就比较委婉的开始鼓励.建议开发者使用自适应布局,但是到目前为止,我感觉大多数开发者一直在回避这个问题,不管是不是由于历史原因造成的,至少他们在心 ...

  9. iOS发展 ---- 至iPhone 6自适应布局设计 Auto Layout

    Apple从iOS 6增加了Auto Layout后開始就比較委婉的開始鼓舞.建议开发人员使用自适应布局,可是到眼下为止,我感觉大多数开发人员一直在回避这个问题,无论是不是因为历史原因造成的,至少他们 ...

随机推荐

  1. J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别

    转自:http://www.metsky.com/archives/547.html 一.J2EE.J2SE.J2ME区别 J2EE——全称Java 2 Enterprise Edition,是Jav ...

  2. node基础09:第2个node web服务器

    1.同时输出文字与图片 在前几个小课程中,我会学会了 从服务器中读取文字字符,并且向浏览器中输出 从服务器中读取图片文件,并且向浏览器中输出 这节课中,我学会了同时向浏览器输出文字,图片.对此,我感到 ...

  3. 使用MEF实现通用参数设置

    通用后台管理系统必备功能模块包含日志管理,权限管理,数据字典,参数配置等功能.参数设置主要用于设置系统运行所需的一些基础性配置项,比如redis缓存,mq消息队列,系统版本等信息.好的参数设置需要达到 ...

  4. JS正则表达式进阶

    贪婪量词   惰性量词    支配量词                      描述--------------------------------------------------------- ...

  5. 【JavaScript】js数组操作,由push到那么多

    shift() 定义:删除并返回数组的第一个元素: pop() 定义:删除数组最后一个元素,并返回: push() 定义:在数组后边添加一个或者多个元素,并返回新数组的长度: array.push(& ...

  6. 一个key 在10w k/v 找到对应的. (B-tree), 这10w放进B-tree 会有多少层.

    B-tree是二叉平衡查找树,相邻两层节点层数不超过1 所有10w 即 2^16=65536 < 10w < 2^17=131072: 会有17层,最多查询17次.

  7. route使用详解

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  8. CentOS 6.5安装在VMWare中Bridge模式下网卡eth0不能自动激活的问题

    VMWare 12.5.2 CentOS 6.5 basic VMWare网卡配置选择Bridge方式 问题: 默认情况下ifconfig命令只能看到网络设备lo,看不到eth0,也没有分配合理的IP ...

  9. 记一次MYSQL更新优化

    引言 今天(August 5, 2015 5:34 PM)在给数据库中一张表的结构做一次调整,添加了几个字段,后面对之前的数据进行刷新,刷新的内容是:对其中的一个已有字段url进行匹配,然后更新新加的 ...

  10. PMD宣传文案

    队名:Clover 李烈争 031402614 林昊斌 031402615 李坤隆 031402612 林瑞斌 031402617 解宇虹 031402338 林 锦 031402339 目录 一. ...