7

为什么会有这段代码:

div {
    background-color: yellow;
    display:block;
    position:fixed;
}

添加时不显示divdisplay:block(即流过页面)position:fixed?它似乎以其他方式工作?

注意我对 CSS 很陌生,所以如果这只是一个愚蠢的错误,我很抱歉

4

2 回答 2

12

当您使用position: fixed;orposition: absolute;时,该元素会从文档的常规流程中取出。

元素的默认设置width是,这意味着它将使用它所在的全部可用宽度。当您将其从流程中取出时,不再有任何可用宽度的可用度量(因为那将是无限的),因此元素将从其内容中获取其宽度。divauto

于 2013-05-19T20:13:59.817 回答
2

您需要将宽度和高度添加到任何位置为fixedor的 [empty] 元素absolute,否则它们将没有任何大小。

html, body {
  height: 1000px;
}

div {
    background-color: yellow;
    display:block;
    position:fixed;
    width:100px;
    height:100px;
}
<div></div>

最后你需要这样的东西

于 2013-05-19T20:12:39.610 回答