Относительное позиционирование

Переклад українською: Відносне позиціонування

Когда элементы спозиционированы относительно, они позиционируются относительно того места, где они обычно появляются в потоке. В отличие от абсолютно спозиционированных элементов, относительно спозиционированные элементы воздействуют на позиционирование последующих родственных элементов (потомков). Элементы позиционируются относительно установкой свойства relative и указанием одного или нескольких свойств «смещения»:

Пример кода

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
h1 {
position:relative;
top:60px;
left:50px;
border:2px solid #006;
padding:1px;
background-color:#600;
color:#eee;
}
#explanation {
color:#006;
font-weight:bold;
font-size:1.2em;
}
#wrapper {
width:600px;
background-color:#def;
border:1px solid #006;
}
</style>
<title>CSS Relative Positioning</title>
</head>
<body>
<div id="wrapper">
<h1>CSS Relative Positioning</h1>
<h2>From the Left and the Top</h2>
<div id="explanation">
<p>The h1 element on this page has been positioned relative to where it otherwise would be.</p>
<p>All other content on the page (including these sentences) will show up in the same position it would have if the h1 had not been positioned at all.</p>
</div>
</div>
</body>
</html>

Обратите внимание как текст абзаца был бы спозиционирован, если бы элемент h1 не был бы перемещен из своего изначального положения. Это произошло потому, что элемент h1 спозиционирован относительно

Посмотрим, что произойдет, если мы спозиционируем элемент h1 из правого нижнего угла, используя относительное позиционирование как в этом коде:


h1 {
 position:relative;
 bottom:40px;
 right:40px;
 border:2px solid #006;
 padding:1px;
 background-color:#600;
 color:#eee;
}

Фиксированное позиционирование

Элементы с зафиксированным позиционированием (fixed) остаются в том же месте браузерного окна, даже когда страница прокручивается. Это может использоваться для постоянного удержания элемента (например, меню) на странице.

В указанном ниже примере фиксированное позиционирование используется для удержания знака «домой», который ссылается на главной страницу в верхнем левом углу.

Пример кода

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#homeLink {
position:fixed;
top:20px;
left:0px;
}
---- Code Omitted ----

</style>
<title>CSS Fixed Positioning</title>
</head>
<body>
<div id="wrapper">
<a href="index.html" id="homeLink"><img src="Images/littleHome.png" alt="Home"></a>
<h1>CSS Fixed</h1>
<h2>In Upper-Left Corner</h2>
<div id="explanation">
<p>The h1 element on this page has fixed positioning.</p>
<p>It will not move from it's place in the upper-left corner when the window is scrolled.</p>
</div>
</div>
</body>
</html>