gpt4 book ai didi

CSS3 calc() 不适用于固定/绝对位置

转载 作者:行者123 更新时间:2023-11-28 09:39:22 24 4
gpt4 key购买 nike

有人知道解决这个问题的方法吗?

我正在尝试计算一个 div 的宽度:

#container {
position: fixed;
top: 0;
left: 0;
z-index: 9;
display: none;
background: #fff;
width: calc(100% - 1em);
padding: .5em;
}

最佳答案

编辑 2:

这是 Webkit 浏览器的版本(如评论中所问),使用最新版本的 Chrome 进行测试,完全适合我:http://jsfiddle.net/HvVst/1/

使用 -webkit-calc() 而不是 calc()


编辑:然后您必须将 1px 边框减去 0.5em 填充,如下所示: http://jsfiddle.net/HvVst/

HTML:

<div id="banner">
FIXED HEADER
</div>
<div id="main">
normal div
<br/>
Sample Text 1
<br/>
Sample Text 2
<br/>
Sample Text 3
<br/>
Sample Text 4
<br/>
Sample Text 5
<br/>
Sample Text 6
<br/>
Sample Text 7
<br/>
Sample Text 8
</div>

CSS:

#banner{
position: fixed;
top: 0;
left: 0;
z-index: 9;
background: #fff;
width: calc(100% - 1em);
padding: calc(0.5em - 1px); /* <-- THIS ONE !!*/
border: 1px solid red;
height: 50px;
}

#main{
margin-top: calc(50px + 1em);
border: 1px solid blue;
height: 500px;
}

它适用于固定位置/绝对位置,但是(如果没有为绝对位置指定相对父级,并且始终为固定位置)它指的是窗口宽度,而不是容器宽度。

(100% - 1em) = 100% 的窗口不包括滚动条...

你想达到什么目的?

如果你想要在父级边界内的绝对位置,将父级设置为position:relative ...

关于CSS3 calc() 不适用于固定/绝对位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com