Как правильно использовать position: absolute?
Новость опубликована: 23 июня 2008 в категории: Разговоры о всякой йухнеЕсть такая полезная штука в CSS - position: absolute; она не раз меня выручала в ситуациях, когда в вёрстке сайта разбираться времени нет, а расположить какой-либо элемент нужно именно в определенном месте.
Вот сами подумайте: верстку сайта делали не вы, расположили баннер - пол сайта разъехалось, надо все собирать заново и т.п. Короче это головняк, я предпочитаю сначала расположить элемент абсолютным позиционированием.
Пишем нечто подобное:
#test {
position: absolute;
right: 5%;
top:200px;
width: 200px;
height: 200px;
...
}
Комментарии излишни.
Дальше вставляем всё это на сайт в виде: <div id='#test'>кусок кода</div> и радуемся жизни.
Еще одна CSS-фича, которая часто выручает - отрицательные отступы. К примеру, margin:10px 20px 30px -80px; расположит элемент на 80 пикселей влево. Если не можете запомнить, какая цифра за что отвечает, вспомните часы, - отступы идут по часовой стрелке, 10px - top, 20px - right, 30px - bottom, -80px - left.
Serg Bonder ()
Random ()
acerbic[p]ink ()
1 аргумент - отступы будут установлены для всех сторон элемента.
2 аргумента - первый аргумент устанавливает отступ от верхнего и нижнего края, второй аргумент - от левого и правого.
3 аргумента - первый аргумент задает отступ от верхнего края, второй - одновременно от левого и правого края, а третий - от нижнего края.
4 аргумента - поочередно устанавливается отступ от верхнего, правого, нижнего и левого края.
Стёпыч ()
Vladislav Bibilchuk ()
burnis ()
особенно бывает смешно когда в ИЕ что-то сдвинулось на 1 пиксел а в опере почему-то на 2 -) и.т.д и.т.в
Random ()
Стёпыч ()
burnis, да есть такое дело, в разных браузерах по-разному, рекомендую указывать правильный Doctype для html-документа, тогда проблем возникать не должно
Саша ()
govno
dilaila
dilaila
acerbic[p]ink, мож у меня конечно стрелка в другую сторону идёт, но верх-право-низ-лево - это против часовой :))
по-моему у кого то полный random в голове))
Вадим
Err
Игорь
Но в связи с разным расширением экранов...
Сами понимаете...
Подскажите плиз как отцентровать, что бы блок после применения Position absolute,
оставался всегда на одном и том же месте независимо от расширения экрана?
webkopilka ()
Ильмир ()
В поместье ()
auditor ()
Лена ()
artem
margin: 0px;
padding: 0px;
margin-left:200px;
margin-top:-1700px;
position: absolute;
background:url(...) no-repeat;
height: 221px;
width: 253px;
чтобы не париться???!!!
Rus ()
barsukoff ()
Денис ()
Денис ()
А как сделать так, что бы при изменении размеров окна браузера элемент не прыгал?
Я приведу пример скрипта, который растягивает псевдобэкграунд на весь экран, не зависимо от разрешения. Поиграйтесь с ним и можно под свои нужды настроить.
<script>
function apply_bg()
{
var img, X, Y;
if (document.all)
{
img = document.all('bg_image');
X = Math.max(document.body.clientWidth, document.body.scrollWidth);
Y = Math.max(document.body.clientHeight, document.body.scrollHeight);
}
else
{
img = document.getElementById('bg_image');
X = Math.max(innerWidth, document.width );
Y = Math.max(innerHeight, document.height);
}
img.width = X;
img.height = Y;
}
</script>
<body on load ='apply_bg()' onResize='apply_bg()'>
<img id='bg_image' src='bg_image.jpg' style='position: absolute; top:0; left: 0'>
drcroc ()
http://gennady-ivanov.blogspot.com/2011/10/position-absolute.html
Dushanbe ()

