你的位置:首页 > 网页设计

[网页设计]左右两栏宽度自适应,中间一栏宽度固定


左右两栏宽度自适应,中间一栏宽度固定:
中间一栏宽度固定,左右两栏宽度自适应效果在众多网页中都有应用,有不错的使用效果,下面就简单介绍一下如何此效果:
代码实例如下:

<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="author" content="http://www.51texiao.cn/" /><title>蚂蚁部落</title><style type="text/css">*{ margin:0; padding:0;}body { font-family:Verdana, Arial, Helvetica, sans-serif; min-width:620px;}#left,#right { float:left; width:50%; margin:0 0 0 -151px;}#innerLeft,#innerRight{ margin:0 0 0 151px; background-color:#efefef;}#middle { float:left; width:300px; background-color:#ccc;}.inner { padding:12px;}</style></head><body><div id="left"> <div id="innerLeft" class="inner">左栏</div></div><div id="middle"> <div id="innerMiddle" class="inner">中栏</div></div><div id="right"> <div id="innerRight" class="inner">右栏</div></div></body></html>

以上代码实现了此中效果,大家可以调节窗口的大小进行测试,下面简单介绍一下如何实现此效果:

一.实现原理:

1.将左右两栏的做外边距设置为-150px,这样就可以在左右两栏之间置留出中栏的位置,宽度为300px。

2.然后将左右两栏的子div的左边距设置为150px,这样左右两栏的内容就可以在非父元素的“-150px外边距区域”显示。

基于以上原理实现了中间固定,左右两栏宽度自适应效果。

二.知识点说明:

1.按照实现原理,左右外边距的值应该是-150px,但是实际值确实-151px,这是因为IE6和IE7浏览器对宽度的百分比像是处理并不够理想,所以要增加一像素的外边距大小,否则可能会出现换行的可能。

原文地址是:http://www.51texiao.cn/div_cssjiaocheng/2015/0501/509.html