css 左列自适应宽度的一行两列布局

今天想实现一行两列的布局,左列宽度自适应,右列宽度保持不变。HTML的写法是:
<div id="main">
    <div id="left"><p>左列</p></div>
    <div id="right"><p>右列</p></div>
</div>

现在加CSS,要实现的效果是mian是可变的,right层宽度为200px,并且固定不变,要让left的宽度随main的变化而变化。CSS的写法是:
#main{width:100%;background:#CCCCCC;}
#left{width:100%;margin-left:-200px;float:left;background:red;}
#right{width:200px;float:right;background:green;}

基本上达到所要的效果了,#left的宽度设置为100%,加个margin-left:-200px;让它向左移动200px,好让它腾出200px的空间塞进right层。但有一个问题,左列被移动的那200px隐藏了,看不到里面的东西,所以还必须增加一个DIV来辅助。

修改了一下,HTML代码,变成:
<div id="main">
    <div id="left">
        <div id="innerLeft"><p>左列</p></div>
    </div>
    <div id="right"><p>右列</p></div>
</div>

现在要让innerLeft把左边被隐藏的部分弄出来,所以得再加个margin-left:200px,修改后的CSS代码如下:
#main{width:500px;background:#CCCCCC;}
#left{width:100%;margin-left:-200px;float:left;background:red;}
#innerLeft{margin-left:200px;}
#right{width:200px;float:right;background:green;}

 

时间: 2024-07-30 01:41:19

css 左列自适应宽度的一行两列布局的相关文章

php循环table实现一行两列显示的方法_php实例

<table width="100%" border="0" cellspacing="1" cellpadding="0" style="background:#CCC"> <tr> <td align="center" bgcolor="#FFFFFF">第一列</td> <td align="cen

DIV+CSS:网页一行两列背景自适应

网页布局中常有的一种情况就是网页主体部分分成一行两列:而在很多种情况下,设计师们常把左右两列的背景色设计成不同色彩,以实现内容块的明显区分:但这样的设计给布局提出了一个看似简单,而实现非常难的问题:那就是左右两列怎么样实现背景高度自适应,及左边内容高于右边时,右边背景色也要和左边一样:右边内容高于左边时,左边背景色也要和右边一样: 当年为了实现这个,我在网上查过无数的文章,都没有很好的解决方案:多数人用很大的负数实现,也有人用javascript实现: 后来因为感觉这样实现不合理,所以我一直用表

div+css 三列自适应等高且中列宽度自适应

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

DataGridView列自适应宽度

来源:http://www.cnblogs.com/wolf-sun/p/3480104.html 在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的. 结果 没设置自适应列宽的 使用自适应列宽的 185 /// <summary> 186 /// 使DataGridView的列自适应宽度 187 /// </summary> 188 /// &l

php循环table实现一行两列显示的方法

  这篇文章主要介绍了php循环table实现一行两列显示的方法,本文直接给出实现代码,重点就是在取余方法的运用,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <table width="100%" border="0" cellspacing="1" cellpadding="0" style="background:#CCC&quo

DIV+CSS实现非常简单的一行两列网页布局

css|网页 CSS代码: .main{width:800px;/* 总的宽度 */background:red;}.main .col1{float:left;/* 这个是关键的地方 让col1往左浮动,这样它的后面(右边)就可以放置别的元素(别的元素:可以是div,图片,文字等) */width:300px;height:300px;background:#eee;border:1px solid #ccc;}.main .col2{float:left;/* 这个是关键的地方 让col2也

一行两列的CSS设置代码

 代码如下 复制代码 <style type="text/css"> body{font-size:12px;} .main{width:800px;/* 总的宽度 */ background:yellow; } .main .col-1{ float:left;/* 这个是关键的地方 让col1往左浮动,这样它的后面(右边)就可以放置别的元素(别的元素:可以是div,图片,文字等) */ width:300px;height:300px; background:#eee;

CSS实现自适应宽度的菜单按钮效果代码

本文实例讲述了CSS实现自适应宽度的菜单按钮效果代码.分享给大家供大家参考.具体如下: 这是一款基于CSS打造的自适应宽度的按钮效果代码,本效果你可以说它是菜单,也可以说它是一个CSS按钮的写法实例,不知你是否发现,菜单项的长宽可以自适应文字的多少,文字越多,它就越长,文字越少,它就越短,很智能吧.像这种可以自适应的菜单,其实用性大大增强,而且代码也挺简洁,分享给大家参考. 运行效果截图如下: 具体代码如下:   代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//D

css 两列宽度自适应三种测试例子

两列宽度自适应测试 左侧浮动,右侧margin-left,IE6,7下在缩小到一定程度右侧会下沉,而且有一个 IE6 3px bug Right 测试子元素能否使用width:100% 左侧绝对定位,右侧margin-left,此方法有效的避免了右侧下沉和IE6 3px bug Right 测试子元素能否使用width:100% 计算边框宽度,在非FF的浏览器中宽度过小时会出现右侧下沉,而且同样会有IE6 3px bug"> 另外还有网上的一种方法,可能不用确定左侧宽度,利用那啥hasLa