Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Абослютная позиция body с margin: auto + фиксировання ширина
 
 автор: enibeniraba   (26.02.2008 в 10:39)   письмо автору
 
 

Есть элемент body (style: margin: auto; width: 200px;)
Нужно узнать: насколько отстоит верхний левый угол body от левого верхнего угла документа.
Смотрел в Инспекторе DOM в фаерфоксе, там никакой зацепки не нашел.
Возможно ли это вообще узнать?

   
 
 автор: CNTv2.0   (26.02.2008 в 11:20)   письмо автору
 
   для: enibeniraba   (26.02.2008 в 10:39)
 

Возможно.
По окончании загрузки тела документа определяете абсолютные координаты левого верхнего угла самого первого элемента (имеющего position: relative) - эти координаты будут равны искомому.
Пример:
<html>
<head>
<style>
body {margin: auto; width: 220px;}
</style>
<script>
onload = function f ()
{
var _t = _l = 0, _o = document.getElementById ('myDiv');
while (_o) {_t += _o.offsetTop; _l += _o.offsetLeft; _o = _o.offsetParent}
alert ('top=' + _t + '\nleft=' + _l);
}
</script>
</head>
<body>
<div id="myDiv" style="position: relative">First element</div>
...
</body>
</html>
Примечание 1: если такового элемента (с позицией relative) в теле нет, тогда его нужно специально прописать - например, в виде того же DIV'a с единичной высотой и с visible: hidden
Примечание 2: если кто-то предложит использовать для нахождения искомого сумму паддинга и маргина тега <body> через currentStyle (и getComputedStyle для Мозиллы), то не советую: тупиковый путь.

   
 
 автор: enibeniraba   (26.02.2008 в 11:51)   письмо автору
 
   для: CNTv2.0   (26.02.2008 в 11:20)
 

Во 2ом фаерфоксе обе координаты всегда 0

   
 
 автор: CNTv2.0   (26.02.2008 в 13:45)   письмо автору
 
   для: enibeniraba   (26.02.2008 в 11:51)
 

Приведенный код в FireFox 2.0.0.12 - см. аттач

   
 
 автор: enibeniraba   (26.02.2008 в 16:14)   письмо автору
 
   для: CNTv2.0   (26.02.2008 в 13:45)
 

ОК, я чето накосячил.

Но мне все равно не подходит вариант с элементом в начале боди.

Подойдем с другой стороны.
Можно ли узнать координаты мыши при нажатии относительно body, а не окна документа?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования