【发布时间】:2015-05-09 01:47:34
【问题描述】:
我只是在玩一些 CSS 的绝对和固定属性,发现 CSS 中的绝对定位和相对定位之间存在不寻常的差异。
基本上,当我绝对定位某些内容并且内容超过窗口或包含元素的高度时,会出现滚动条,但是当我将位置更改为固定时,即使内容的高度与窗口,不出现滚动条。
我为此创建了一个测试用例:
HTML:
<div class="page-container">
<div class="helper">
<div class="marker red"></div>
<div class="marker green"></div>
<div class="marker yellow"></div>
<div class="marker blue"></div>
</div>
</div>
CSS:
#slides-container {
height: 100%;
width: 100%;
overflow: hidden;
}
.helper {
height: 400%;
width: 20px;
position: fixed; /* change this to absolute and the scrollbars appear*/
top: 0;
left: 0;
}
.helper .marker {
height: 25%;
width: 100%;
}
.marker.red {
background: red;
}
.marker.green {
background: green;
}
.marker.yellow {
background: yellow;
}
.marker.blue {
background: blue;
}
这是小提琴:fiddle。 (检查 CSS 中的注释)
希望能对此问题作出解释。
【问题讨论】:
-
您的 CSS 包含对
#slides-container的引用,该引用在您的标记中不存在。这是疏忽还是应该忽略? -
@BoltClock 允许我更正您的殿下;):D
标签: html css css-position