有3个div并排,如何让中间的div居中显示?

tantaiyizu 2008-04-15 11:11:14

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>div自适应</title>
<style type="text/css">

#dMain {
margin:0 auto;
width:90%;
}
#dLeft ,#dCenter ,#dRight {
float:left; /*统一设置float属性为left*/
height:300px; /*统一设置高度为300个像素*/
}
#dLeft {
background:#C1C1FF;
}
#dCenter {
width:380px; /*固定中间部分为380个像素*/
background:#FFC1FF;
}
#dRight {
background:#C8E3E3;
}
#dRight div {width:100%;/*此处主要为了实现满屏显示*/}
</style>
</head>
<body>
<b>3个部分,中间宽度固定,左右根据内容自适应,如何实现不管左右的宽度怎样变化,dCenter始终居中?</b>
<div id="dMain">
<div id="dLeft">1111111</div>
<div id="dCenter">2222222222222</div>
<div id="dRight">
<div>3333333333333</div>
</div>
</div>
</body>
</html>

...全文
3000 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
fteng78 2010-11-26
  • 打赏
  • 举报
回复
看看六楼
terryoee 2009-09-09
  • 打赏
  • 举报
回复
又需要看这个知识点,谢谢
myvicy 2008-04-16
  • 打赏
  • 举报
回复
没看明白啥意思!!!
tantaiyizu 2008-04-16
  • 打赏
  • 举报
回复
#6 的代码,解决了居中问题 ,但我想让默认左右两边 宽度是100% ,就是 现在不有两个空白 ,该怎么做呢?
tantaiyizu 2008-04-16
  • 打赏
  • 举报
回复
谢谢 风之石 ,谢谢大家
dh20156 2008-04-16
  • 打赏
  • 举报
回复
6楼的代码在FF下,dLeft,dCenter,dRight都要加上:

display:table-cell;
vertical-align:top;
  • 打赏
  • 举报
回复
这个似乎不太可能,并排的,中间那个肯定会受到左右2个的宽度影响是偏左还是偏右,除非左右个宽度是一样大,不是一样大的话,基本上是不可能,难道要设置Z-INDEX值?使中间的在最上面一直居中?这个似乎不太理想
yongyuanjax 2008-04-16
  • 打赏
  • 举报
回复
风之石厉害啊
myvicy 2008-04-16
  • 打赏
  • 举报
回复
居中是正中?还是只要在左右的中间就可以了?再一个,左右的宽度可能值是多少?中间的宽度定了,左右的宽度如果加上中间的会不会超过屏幕的宽度?不管怎么变化这个要怎么去理解?
dh20156 2008-04-16
  • 打赏
  • 举报
回复
凑合一下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>div自适应</title>
<style type="text/css">
#dMain {
margin:0 auto;
width:90%;
display:table;
#position:relative;
}
#dLeft {
float:left;
height:300px;
background:#C1C1FF;
}
#dCenter {
display:table-cell;
align:center;
#position:absolute;
#left:50%;
width:380px;
height:300px;
}
#dCenter div{
#position:relative;
#left:-50%;
width:380px;
height:300px;
background:#FFC1FF;
}
#dRight {
float:right;
height:300px;
background:#C8E3E3;
}
</style>
</head>
<body>
<b>3个部分,中间宽度固定,左右根据内容自适应,如何实现不管左右的宽度怎样变化,dCenter始终居中?</b>
<div id="dMain">
<div id="dLeft">1111111</div>
<div id="dCenter"><div>2222222222222</div></div>
<div id="dRight">3333333333333</div>
</div>
</body>
</html>
my98800 2008-04-16
  • 打赏
  • 举报
回复
这个方法不错,就不知道使用<div>方法定位和使用表格定位在效果上和速度上有什么区别?还有就是他的通用性如何?在所有浏览器中都有效吗?还有就是CSS写多了,会乱呀!
away8_girl 2008-04-16
  • 打赏
  • 举报
回复
似乎实现不来~~左边宽度变了 那自然中间的就会向右移动的嘛 怎么能确定中间的一直页面居中呢~~
MeXP 2008-04-16
  • 打赏
  • 举报
回复
似乎在你给的框架下,做不到,dcenter设置margin后,倒是居中了,导致dright错到下层去了。
tantaiyizu 2008-04-15
  • 打赏
  • 举报
回复
怎么没人来看看哈 ?

61,129

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧