如何使用另一个具有position: fixed
属性的div自动调整水平居中的div的大小?
为了更好地理解我的意思,请看下面的图片。 Div A
是一个固定大小的固定div,div B
是一个水平居中的div。我希望div B
以这种方式调整大小(当我调整浏览器窗口大小时),因此A
的右边框和B
的左边框从不重叠(理想情况下,如果边框之间的距离保持不变。
我知道使用JavaScript通过对resize事件做出反应可以相当容易,但是我想知道有没有办法在纯CSS中实现这一点?
答案 0 :(得分:2)
这是另一种方式。这也适用于旧版浏览器。
<style>
div {
border: 1px solid red;
height: 100px; }
#A {
position: fixed;
width: 150px; }
#B {
margin: 0px 155px; }
</style>
<div id="A">Stuff</div>
<div id="B">Stuff</div>
&#13;
答案 1 :(得分:1)
为元素提供设置position: absolute
或position: fixed
您可以使用left
和right
属性更改元素的宽度。
只需向right
添加与left
#left {
position: absolute;
width: 150px;
}
#middle {
position: absolute;
left: 165px;
right: 165px;
overflow: auto;
}
/* For demo purposes */
html, body, div { height: 100%; margin: 0; } div { background: red; } #overflow { height: 200%; }
<div id="left"></div>
<div id="middle">
<div id="overflow"></div>
</div>
答案 2 :(得分:0)
这个怎么样:
#a{
width:200px;
}
#b{
width:calc(100% - 400px);
}
只需将B的宽度设置为屏幕宽度的100%减去A宽度的两倍,它们的边框就会触及。