css实现左(右)侧固定宽度,右(左)侧宽度自适应 ---清除浮动

老话长谈,css的不固定适应布局   不管是面试还是在平时的工作中,这样的布局形式一直都在用着,很常见,所以今天我就拿出来在唠叨一下, 既是给自己一个备忘存储,也是一个学习巩固的参考,知道大家都会,还是要记忆一下,不为其他,就为打好基础。

话说太多, 直接上代码,一看就能明白。 也许你会不屑一顾的说简单,可是我就喜欢写一些。。。。。。作为一个菜鸟,就要从基础努力学习才行。

方法多种, 你有新的方法可以补充说明,在此感谢!!

一、左边布局固定,右边自适应的布局

  *{ margin:0; padding:0}

   .whole{ width:100%;}

  <div class="whole">
        <p>自适应测试</p>
           <div class="left">固定左侧 300px</div>
        <div class="right">右侧自适应</div>
 </div>

 方法1: 左侧用float浮动,给固定宽度,右侧 左边距的距离==左侧层的宽度

    css代码:
    
.left{ float:left;width:300px; background:red}
    .right{ margin-left:300px; background:green; width:100%}

 方法2:左边绝对定位absolate,右边代码没变化 还是右侧 左边距的距离==左侧层的宽度;

  css代码:

    .left{ position: absolute; left:0; width:300px; background:red}
    .right{ margin-left:300px; background:green; width:100%}

  方法3(个人喜好用):左右两边都用绝对定位absolute, 父级相对定义(不影响,建议加个相对定义,避免重叠) 

  css代码:

    .left{ position: absolute; left:0; width:300px; background:red}

    .right{ position: absolute; left:300px; background:green; width:100%}

二、左边布局不固定,右边布局固定-----方法一致,位置换下而已

   <div class="whole">
        <p>自适应测试</p>
           <div class="left">左侧自适应</div>
        <div class="right">右侧宽度固定</div>
  </div>

  方法1、左侧用左浮动,右边距==右侧层的宽度的负值(因为你是左撑开,距离右侧的距离不错层) 右侧的有浮动,固定宽度

      .left{ float:left; width:100%; margin-right:-300px; background: red; }
  .right{ float: right; width: 300px;background: blue;}

方法2、左右两边都用绝对定位absolute, 父级相对定义(不影响,建议加个相对定义,避免重叠)      .left{ position: absolute; left:0;  width: 100%;  background: red;}
  .right{ position: absolute;  left:200px; width:200px; background: green;}

 方法3、

 清除浮动的方法就一笔带过, 都会

    1、在浮动层的下面单独定义一个层 <div class="clear"></div>   .clear{ clear:both}

    2、伪类方法:after (用在父类的布局层上)-常用

         .father::after,.father::before{ clear: both; content: ""; display: table;}
     <div class=‘father‘>
          <div class="son-flotleft"></div>
     <div class="son-flotrgt"></div>
     </div>

  3、父级元素设置overflow为hidden或者auto,固定高度 也可以--不建议 

         .father{overflow:hidden; width: 100%; }   //overflow:auto; height:300px;

写的都比较简单, 文字表述很少,都是代码,说的思路再多,不让直接代码实际,用了后就明白意思了,good lucky。。

 

时间: 2024-10-11 07:11:44

css实现左(右)侧固定宽度,右(左)侧宽度自适应 ---清除浮动的相关文章

CSS——如何清除浮动

众所周知,平时在写HTML代码时,难免少不了使用Float样式,这样一来,假使您没有清除浮动,那么有浮动元素的父元素容器将元素将无法自动撑开.换句简单好理解的话来说,假如你在写CODE时,其中div.A(这个就是说页面中有一个div,并且把其命名为class="A")中包含了两个或多个子元素div.B,div.C,div.D(这里我以三个为例),并且此时div.B和div.C进行浮动,而div.D不进行任何浮动,此时你可以看到父元素div.A高度仅靠div.D来撑开其高度,如果您将di

span文字在左背景图片在右

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">span {     background-image:url(http://a3.qpic.cn/psb?/V11OXL2y3vDNOK/BLjgWL6kfs*3sZIUVjubWPHQWxn

C++11之右值引用:从左值右值到右值引用

C++98中规定了左值和右值的概念,但是一般程序员不需要理解的过于深入,因为对于C++98,左值和右值的划分一般用处不大,但是到了C++11,它的重要性开始显现出来. C++98标准明确规定: 左值是可以取得内存地址的变量. 非左值即为右值. 从这里可以看出,可以执行&取地址的就是左值,其他的就是右值. 这里需要明确一点,能否被赋值不是区分C++左值和右值的区别. 我们给出四个表达式: string one("one"); const string two("two&

荐书一本-----《天才在左,疯子在右》

近来无意在网上找到一本书,名字叫<天才在左.疯子在右>,是一本精神病人访谈手记,花了一个礼拜的时候读完,感觉非常不错,向CSDN的朋友推荐一下. 在读之前你需要有心理准备,它很可能会颠覆你的世界观,撼动你的价值观,改变你的人生观.以前在网上流行一句话,叫2B青年欢乐多.精神美人思维广,大多数人都把注意力集中在前一句,是调侃不靠谱青年的一种笑谈,读完这本书后,发现后半句其实非常精辟.有一部分精神病人,他们的逻辑非常严密,思考的角度和维度远超常人,他们所关注的东西的层次更是庸庸碌碌的众生所无法企及

2015年第15本:天才在左,疯子在右

<天才在左,疯子在右>主要是在往返烟台的路上看完的,这本书很可能是作者根据大量哲学.宗教.量子物理等等的阅读,借助于精神病人的角度,拼出了一本书.由于描写精神病方面的书很少,所以常人肯定都有强烈的好奇心来看看精神病的世界.书名与天才没有半毛关系,只是为了经济利益吸引人眼球而已.有些故事(四维虫子.女人的星球.苹果的味道.时间的尽头.迷失的旅行者)视角很独特,里面的话语不能太较真儿,权当作一种消遣而已,否则,心理素质不强的天才很快就会加入疯子的行列. 像“整个蚁群才是完整的生命!松散生命”这篇,

推荐《天才在左,疯子在右》

这次推荐一本<天才在左,疯子在右> , 这本书的作者高铭, 据说花了4年多的时间,深入医院精神科.公安部等诸多神秘机构,得以和数百名“非常态人类”直接接触,最终产生了这本书 . 不知道是谁说过,所谓正常社会一直在对异常人群行驶一种权力——将他们视为异端,将他们隔离. 读完这本书,你一定会被震动 . 假若你是所谓的正常人.你或许会和我一样,对其中一些特殊人物隐隐有一种崇拜感 ,或者对精神病人这一群体有着不一样的理解. 我想到了梵高 ,他在我们眼里到底是天才,还是疯子?或是他就是他,只不过是我们给

程序员生存定律--管理向左,技术向右

程序员生存定律这系列的目录在这里:程序员生存定律--目录 喜欢从头瞄的,可以移步. ------------------------------------------------------------------------------- 一个程序员在考虑增值时无法回避的一个根本问题是到底是做技术还是做管理.当然也有些职位会介于两者之间比如架构师,但我们暂时不去做细分,而是用简单的二分法. 这种基本方向上的选择对后续很多细节上的取舍有关键影响,所以在考虑其他之前,最好先回答一下这个问题.这就

oracle开发系列(五) 取左表不在右表记录的3种方法-引申到db2

引: 我们在做数据库开发用 pl sql 加工数据时,经常会遇到取a表不在b表中的记录 或者 左表不在右表中的记录 的情况,所以特地对此做个简单的总结,以便以后用到回顾. 解决: 取a表某字段不在b表 我们自然的逻辑会想到用 a not in b ,这是第一种方法 1 not in 如下图 ,数据库为不跑业务的测试数据库,两张表的数据量一样, 用not in 可以找出a表中prd_inst_id不在t表中的记录 如下图,为生产库的表  l 和t表数据量相同,数据量900w左右 2 not exs

C++ 11中的左值引用和右值引用

1.首先区分左值和右值    左值是表达式结束后依然存在的持久对象    右值是表达式结束时就不再存在的临时对象    便捷方法:对表达式取地址,如果能,则为左值,否则为右值举例:    int a = 10    int b = 20    int *pFlag = &a    vector<int> vctTemp    vctTemp.push_back(1)    string str1 = "hello"    string str2 = "wo