两栏布局,右侧自适应

总结了一下两栏布局,右侧自适应的方法,欢迎指点和补充~~

方法一:要求right中的子元素不能有固定宽度的(为了IE6),right要加overflow:hidden;
           如果right中的内容有固定宽度的浮动元素时,right要加overflow:hidden;,否则当浏览器缩小到right宽度小于里面子元素的宽度时,在非IE67的浏览器中right里的子元素会下移,IE7正常显示;
           不论加不加overflow,在IE6中,当浏览器缩小到right宽度小于里面子元素的宽度时,right都会下移。

<style type="text/css">
.box01{
    padding:10px 0;
    background:#F2F2F2;
}
.box01 div{
    height:200px;
}
.box01 .left{
    width:200px;
    float:left;           /***/
    background:#0FF;
}
.box01 .right{
    background:#396;
    overflow:hidden;    /*不加overflow:hidden时,right里面的内容有固定宽度的,当浏览器缩小时,里面的内容会下移*/
}
</style>

<div class="box01">
   <div class="left">左侧固定宽度</div>
   <div class="right">
      <p style="width:800px;background:#F00;">有固定宽度的非浮动元素</p>
      右侧自适应
      <p style="width:800px;background:#F00;float:left;">有固定宽度的浮动元素</p>
   </div>
</div>

方法二:要求right中的子元素不能有固定宽度的(为了IE6),right要加overflow:hidden;

<style type="text/css">
.box02{
    padding:10px 0;
    background:#F2F2F2;
}
.box02 div{
    height:200px;
}
.box02 .left{
    width:200px;
    float:left;          /***/
    background:#0FF;
}
.box02 .right{
    margin-left:200px;   /***/
    background:#396;
    overflow:hidden;     /***/
}
</style>

<div class="box02">
   <div class="left">左侧固定宽度</div>
   <div class="right">
      <p style="width:800px;background:#F00;">有固定宽度的非浮动元素</p>
      右侧自适应
      <p style="width:800px;background:#F00;float:left;">有固定宽度的浮动元素</p>
   </div>
</div>

方法三:要求right中的子元素不能有固定宽度的(为了IE6),right要加overflow:hidden;

<style type="text/css">
.box03{
    padding:10px 0;
    background:#F2F2F2;
    margin-left:200px;     /***/
    position:relative;
}
.box03 div{
    height:200px;
}
.box03 .left{
    width:200px;
    float:left;           /***/
    margin-left:-200px;    /***/
    background:#0FF;
}
.box03 .right{
    width:100%;
    background:#396;
    overflow:hidden;     /***/
}
</style>

<div class="box03">
   <div class="left">左侧固定宽度</div>
   <div class="right">
      <p style="width:800px;background:#F00;">有固定宽度的非浮动元素</p>
      右侧自适应
      <p style="width:800px;background:#F00;float:left;">有固定宽度的浮动元素</p>
   </div>
</div>

方法四:right要加overflow:hidden;

<style type="text/css">
.box04{
    padding:10px 0;
    background:#F2F2F2;
    position:relative;      /***/
}
.box04 div{
    height:200px;
}
.box04 .left{
    width:200px;
    background:#0FF;
    position:absolute;     /***/
    top:10px;
    left:0;
}
.box04 .right{
    background:#396;
    margin-left:200px;    /***/
    overflow:hidden;
}
</style>

<div class="box04">
   <div class="left">左侧固定宽度</div>
   <div class="right">
      <p style="width:800px;background:#F00;">有固定宽度的非浮动元素</p>
      右侧自适应
      <p style="width:800px;background:#F00;float:left;">有固定宽度的浮动元素</p>
   </div>
</div>

方法五:淘宝的做法,不支持IE6

<style type="text/css">
.box05{
    padding:10px 0;
    background:#F2F2F2;
}
.box05 div{
    height:200px;
}

.box05 .left{
    width:200px;
    background:#0FF;
    float: left;            /***/
    margin-left: -100%;     /***/
}
.box05 .right_box{
    width:100%;
    float:left;            /***/
}
.box05 .right{
    background:#396;
    margin-left:200px;      /***/
    overflow:hidden;        /***/
}
</style>

<div class="box05 clear">
   <div class="right_box">
       <div class="right">
          <p style="width:800px;background:#F00;">有固定宽度的非浮动元素</p>
          右侧自适应
          <p style="width:800px;background:#F00;float:left;">有固定宽度的浮动元素</p>
       </div>
   </div>
   <div class="left">左侧固定宽度</div>
</div>

效果很丑,请看图片

时间: 2024-11-05 20:36:01

两栏布局,右侧自适应的相关文章

css之两栏布局左侧固定右侧高度自适应

css两栏布局之左侧固定右侧高度自适应 先看这样的html+css结构: .main { width: 900px; overflow:hidden; margin: 0 auto; border:1px solid #000; } .left { width: 600px; float:left; background: #ccb; } .right { float:left; width: 300px; background: #acf; } <div class="main"

七种实现左侧固定,右侧自适应两栏布局的方法

总结一下左边固定,右边自适应的两栏布局的七种方法.其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与grid布局.并非所有的布局都会在开发中使用,但是其中也会涉及一些知识点.关于最终的效果,可以查看这里 常用的宽度自适应的方法通常是利用了block水平的元素宽度能随父容器调节的流动特性.另外一种思路是利用CSS中的calc()方法来动态设定宽度.还有一种思路是,利用CSS中的新型布局flex layout与grid layout. 首先创建基本的HTML布局和最基本的样式.

自适应的两栏布局

在很多的网站上我们都会看到这样的效果——自适应两栏布局.那么它和两栏布局又有什么区别呢?下面我们一起来研究一下. 一.什么是自适应两栏布局 当我们调整浏览器的宽度时,我们希望其中的一个比较重要的分栏保持不变:而另一个分栏能随着浏览器宽度的变化自动的调节自己的宽度,而其内容自动的换行,不会出现横向的滚动条或浏览器遮挡内容的情况. 二.如何做到自适应两栏布局 以左面固定.右边自适应为例.下面我提供两种方法: 方法一: 既然是这样的效果,自然是一个设置宽度,另一个不设置宽度.我们将左边的向左浮动并设置

flex实现水平居中和两栏布局

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>水平垂直的实现</title> <style> .wrapper{ width:

两栏布局

两栏布局,左边宽度固定,右边自适应 <div id="left">left</div><div id="right">right</div> <style>#left{width: 200px;line-height:50px;background:green;float:left;text-align:center; }#right{margin-left:200px;line-height:50px;b

浮动:图解两栏布局

图片文字的两栏布局有多种实现方式,基本都要靠浮动实现,但滥用浮动会破换布局的适应性. 1.左右浮动 图片左浮动,右边div右浮动 .inner {overflow:hidden; width=600px} .inner_face {display: block;float: left;} .inner_right_float {float: right;width: 484px;} 左右浮动对于不同的宽度不能自适应,布局会被破坏,中间出现空白区域: 2. 左浮动,右边流体布局——右边自适应 右边

浮动:图片文字两栏布局

利用元素浮动实现如下图的两栏布局: HTML部分代码如下: 1 <section> 2 <div class="wrap"> 3 <img src=""> 4 <p class="clearfix">......</p> 5 </div> 6 <div class="wrap"> 7 <img src=""> 8

经典的两栏布局和三栏布局的几种简单的实现

一,三栏布局 1,两边栏宽度固定值,中间栏宽度自适应 (1)绝对定位法 [关键点]1,绝对定位从普通文档流中脱离出来,中间元素可以不用考虑左右定位元素占的位置 2,左右栏绝对定位到确定的位置上,(absolute,left,right) 3,中间栏左右外边距设置为左右栏的宽度,因此自身宽度就自适应的变成了窗口宽度-左右两边栏的宽度 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <style> 5 html,body{ 6 mar

css两栏布局、圣杯布局、双飞翼布局

最近几个月一直用vue在写手机端的项目,主要写业务逻辑,在js方面投入的时间和精力也比较多.这两天写页面明显感觉css布局方面的知识有不足,所以复习一下布局方法. 两栏布局 1.浮动 .box1 .left { float: left; width: 100px; height: 100px; background-color: red; } .box1 .right { margin-left: 100px; height: 100px; background-color: green; }