《转》div 中间固定 左右自适应实现
《转自》:http://www.w3cplus.com/css/layout-column-three
对于我来说,这是一种很少碰到的布局方法,不知道大家有何体会,那么下面我们一起来看这种布局方法的实现过程,同样先来看html代码:
<div id="left">
<div class="inner">this is left sidebar content</div>
</div>
<div id="main">
<div class="inner">this is main content</div>
</div>
<div id="right">
<div class="inner">this is right siderbar content</div>
</div>
这种方法也是借助于负的margin来实现的,首先我们在中间列定好固定值,因为此值是不会在改变的,接着对其进行左浮动;那么关键地主是在左右边栏设置地方,这种方法是将其都进行50%的宽度设置,并加上中负的左边距,此负的左边距最理想的值是中间栏宽度的一半加上1px,比如说此例中是"540px/2+1"也就是说他们都有一个"margin-left: -271px",这样一来,左右边栏内容无法正常显示,那是因为对他们进行了负的左边距操作,现在只需要在左右边栏的内层div.inner将其拉回来,就OK了,大家可以看下在的代码:
#left,
#right {
float: left;
margin: 0 0 0 -271px;
width: 50%;
} #main {
width: 540px;
float: left;
background: green;
} .inner {
padding: 20px;
} #left .inner,
#right .inner {
margin: 0 0 0 271px;
background: orange;
}
具体效果如下:

这种方法如果在ie下会存在布局混乱的bug,你可以将div#right和div#left中的width值稍作修改:
#left,
#right {
float: left;
margin: 0 0 0 -271px;
width: 50%;
*width: 49.9%;
}
这样一来,在ie下也就安全了。
实现这种效果的方法可能有很多,希望大家有更好的方法能一起分享一起学习。
《转》div 中间固定 左右自适应实现的更多相关文章
- xHTML+div布局:三个div,两边div宽度固定,中间div宽度自适应
xHTML+div经常考题:三个div,两边div宽度固定,中间div宽度自适应. 和大家分享一个实现方式: 1.html代码 <div class="dyleft"> ...
- 布局:上下两个div高度固定,中间自适应
需求:经典布局 —— 头尾固定高度中间高度自适应布局 头部固定高度,宽度100%自适应父容器: 底部固定高度,宽度100%自适应父容器: 中间是主体部分,自动填满,浏览器可视区域剩余部分,内容超出则中 ...
- 关于div一侧固定,另一侧自适应
关于div一侧固定,另一侧自适应,从文字看出 一侧固定:说明有固定长度, 一侧自适应:说明是按比例缩放 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
- 实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)
经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下方法: 一: 右 ...
- css左固定右自适应常用方法
下面是几种方法的公用部分(右自适应也是一样的,换一下方向) html: <div class="demo"> <div class="sidebar&q ...
- DIV+CSS布局中自适应高度的解决方法
div乱跑问题 (文件<DIV+CSS布局中自适应高度的解决方法.rar>) float 是个很危险的东西 得小心使用 本来有一很好的关于CSS+DIV的论坛 不过现在关门了 甚是可 ...
- CSS百分比padding实现比例固定图片自适应布局
一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比 ...
- flex左右布局 左边固定 右侧自适应
flex左右布局 左边固定 右侧自适应 想要保证自适应内容不超出容器怎么办. 通过为自适应的一侧设置width: 0;或者overflow: hidden;解决. 首先实现标题的布局,也很简单: &l ...
随机推荐
- 西门子PLC学习笔记七-(位逻辑指令)
位逻辑指令处理的对象为二进制位信号.存储在状态字"RLO"中. 1.触点与线圈指令 1)常开触点 在PLC中规定:操作数为1,则常开触点"动作(闭合)":操作数 ...
- Oracle cloud control 12c 怎样改动sysmanpassword
前阵子在虚拟机部署了Oracle Cloud Control 12c.事别几日,居然忘记了登录password. 主要是由于如今的Oracle有关的Software比之前提供更强的安全机制.什 ...
- 一张图说清Asp.NET MVC中的 RenderPage、RenderBody、RenderSection
- Ubuntu 安装Matlab2010a
1.挂载ISO 2.到/media/iso内,在终端执行./install 3.可视化安装 4.问题 1)/usr/local/MATLAB/R2010a/bin/util/oscheck.sh:/l ...
- salon_百度百科
salon_百度百科 salon 编辑 是法语Salon一字的译音,中文意即客厅,原指法国上层人物住宅中的豪华会客厅.从十七世纪,巴黎的名人(多半是名媛贵妇)常把客厅变成著名的社交 ...
- display:inline-block的运用
在实习中做专题时,遇到的一个问题:建立一个宽度很长的一个页面,里面包含许多列.或许许多人认为直接设置float:left:不就行了 但是这个有一个问题,你必须把外面的div的宽度设置的很长已满足大于所 ...
- ASP.NET成员资格与角色管理配置内容
Web.config中进行配置 以便于连接数据库,使用微软提供的Membership类.·····等 <?xml version="1.0" encoding=" ...
- Eclipse用法和技巧十四:自动生成的TODO注释2
前面介绍了自动生成的TODO注释含义,配置以及如何去除的方法,这里介绍下TODO常见的用途.工作中经常会遇到写代码写到一半,被叫过去开会推动沟通.o(╯□╰)o 一般都有写代码停下来一段时间,再回来就 ...
- 基于visual Studio2013解决C语言竞赛题之1062高与矮
题目 解决代码及点评 /************************************************************************/ /* 62 ...
- [置顶] js中如何复制一个对象,如何获取所有属性和属性对应的值
在js中如何复制一个对象,例如如下一个js对象. 如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢? var obj= ...