css布局小技巧---1:有一侧宽度固定,另一侧随浏览器及分辨率改变而改变的css页面布局

若要让页面随着浏览器窗口,分辨率的改变而改变,并且左侧或者右侧有一列固定宽度的文本,就如百度搜索结果页面,左侧是搜索内容,右侧是广告内容。要实现这种效果,

1 可以用绝对定位。(这种方式的坏处是若绝对定位的内容高度大于另外一侧内容告诉,则绝对定位的部分会覆盖下面的文字,若有通栏的尾文件就麻烦了,如下例子:)

如:

<style type="text/css">
<!--
body,td,th {
 font-size: 12px; margin:0;
}
.left { width:200px; position:absolute; left:3px; background:#dfdfdf;

border:1px dashed #ccc;}
.right { margin-left:205px; background:#ffdddd; }
-->
</style></head>

<body>
<div class="left">
左侧固定宽度部分<br />
左侧固定宽度部分<br />
左侧固定宽度部分<br />
左侧固定宽度部分<br />
左侧固定宽度部分<br />
</div>
<div class="right">右侧随页面宽度右侧随页面宽度变化的部分右侧随页面宽度变化的部分右侧随页面宽度变化的部分右侧随页面宽度变化的部分右侧随页面宽度变化的部分右侧随页面宽度变化的部分<br /></div>

<div >底底底底底底底底底底底底底底底底底底底底底底底底底底底底底</div>
</body>

2 使用类或者id嵌套,仍用浮动属性定位,这样就没有了上面所说的缺点了 例子:

<style type="text/css">
<!--
body,td,th {
 font-size: 12px; margin:0;
}

.bar { float:right; width:200px;}
.content { float:left; width:100%; margin-right:-201px;}
.contentIn {  margin-right:200px;}
.footer { clear:both; border-top:1px solid #ccc;}
-->
</style></head>

<body>
<div class="bar">左侧固定宽度部分<br />左侧固定宽度部分<br />左侧固定宽度部分<br />左侧固定宽度部分<br />左侧固定宽度部分<br />左侧固定宽度部分<br />左侧固定宽度部分<br />左侧固定宽度部分<br /></div>
<div class="content">
<div class="contentIn">右侧随页面宽度变化的部分右侧随页面右侧随页面宽度变化的部分右侧随页面右侧随页面宽度变化的部分右侧随页面右侧随页面宽度变化的部分右侧随页面右侧随页面宽度变化的部分右侧随页面右侧随页面宽度变化的部分右侧随页面右侧随页面宽度变化的部分右侧随页面</div>
</div>
<div  class="footer">底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底底</div>
</body>

 另外,这种方式可以实现左右两侧中间有分隔竖线时,让竖线跟随两侧内容向下延伸,哪个内容多就随着哪个延伸,在bar跟contentIn上分别定义边框就可以了,这样就避免了把线定义在一侧,而这一侧内容又少时线延伸不到底的问题。

 

3 第三种可用bar {float:left; width:200px;}   content {margin:0 0 0 210px;} 也可以达到这样的效果


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值