【发布时间】:2019-03-06 19:58:40
【问题描述】:
我将body 的位置设置为relative,然后我尝试定位#first 和#second 元素相对于它们的父元素,即body。
我的问题是为什么#first 元素不在body 内,而它们的位置是绝对/固定的?
body {
margin: 0;
padding: 0;
border: solid red;
position: relative;
}
#first {
position: fixed;
left: 0;
top: 200px;
border: solid green;
}
#second {
border: solid blue;
height: 200px;
padding: 100px;
position: absolute;
}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<section id="first"></section>
<section id="second"> </section>
</body>
</html>
【问题讨论】:
-
它们都是,你的
#firstdiv 只是没有设置高度和宽度。 -
固定位置不服从父级。当页面滚动时,它只是停留在一个地方。
-
jsfiddle.net/nuz5k3op/9 - - 他们是……
-
请加
html,body{ min-height:100vh} -
当使用
position: fixed时,元素是相对于视口定位的,而不是相对于任何其他元素,因此您的代码可以正常工作。
标签: html css css-position