Мне нужно зафиксировать положение элемента, но я не могу расположить его относительно окна просмотра, мне нужно, чтобы он был расположен относительно контейнера.
Мне удалось это сделать, но мне интереснокак и почему это работает, потому что на самом деле я думаю, что фиксированная позиция ВСЕГДА позиционируется относительно окна просмотра, а НЕ родительских элементов.
Здесь мой (рабочий) код:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {
height: 2000px;
}
.container {
position: relative;
}
.sidebar {
width: 200px;
background-color: red;
height: 200px;
position: absolute;
left: 100px;
top: 100px;
}
.fixed {
width: 100px;
height: 100px;
background-color: green;
position: fixed;
/* top: 0;
left: 0; */
margin-left: 10px;
margin-top: 10px;
}
</style>
</head>
<body>
<div class="container">
<div class="sidebar">
<div class="fixed"></div>
</div>
</div>
</body>
</html>
Fiddle: https://jsfiddle.net/tnwLycao/
Элемент «фиксированный» можно легко позиционировать с полями (например, margin-left / margin-top).Однако, когда я деактивирую поля и пытаюсь расположить «фиксированный» с верхним / левым краем, он снова позиционируется относительно окна просмотра, а не относительно родительского контейнера / элемента.
Может кто-нибудь подсказать, как ипочему это работает?