在调整浏览器窗口/页面大小时,我很难让3个div自动调整大小。
我有两个固定大小的div,我希望中心div自动调整大小以填充剩余空间,并且当页面大小缩小时,不会将第三个div换行换行到换行符。
我将在包含三个div的div上设置一个min-width属性,以防止在中间div大约为65px宽时包装第三个div。
这是否必须使用javascript完成,因为我目前正在尝试用css实现这一点,但我没有运气。
javascript或css表达式类似于width = page.width - div1.width -div3.width但我想尽可能避免使用js。
感谢您的帮助!
麦克
您可以在附加图像中看到预期的行为。
1)我想要什么 2)我目前在收缩方面遇到的问题
我将div重新调整大小并将文本框设置为100%,以便使用div重新调整大小。
然而右侧div可以是267px,如下所示,也可以是192px(离散),如果我只是在某些页面上设置了后边距的代码?或者有没有办法根据div右边的大小使margin-right成为动态?
例如。 HTML
<div id="wrapper">
<div id="left"></div>
<div id="right"></div>
<div id="centre">
<div>
</div>
CSS
#wrapper
{height:84px;
background-image:url(../images/siteImages/header_back.png);
background-repeat: repeat-x;}
#left
{height:inherit;
width:512px;
background-image:url(../images/siteImages/logo.png);
background-repeat: no-repeat;
float:left;}
#centre
{width:auto;
margin-left:512px;
margin-right:267px;
height:inherit;}
#right
{padding-right:10px;
height:inherit;
float:right;
text-align:right;}
答案 0 :(得分:5)
你可以拥有类似的东西:
<div id="a">...</div>
<div id="c">...</div>
<div id="b">...</div>
使用这个CSS:
#a { width: 512px; float: left; }
#b { width: auto; margin-left: 512px; margin-right: 200px;}
#c { width: 200px; float: right; }
我相信我会做你想要的。
答案 1 :(得分:0)
你试过了吗?
<div id="div2" style="margin-left:auto;margin-right:auto;">content</div>
删除div2上可能包含的任何min-width
答案 2 :(得分:0)
只需在CSS中尝试此操作
#centre {overflow:hidden;}
无需指定宽度和宽度保证金和高度; 。它会自动调整。无需更改HTML订单。