[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как DOCTYPE вредит делу
Страницы: 1, 2, 3
Владимир55
К сожалению, я ровным счетом ничего не понял...

Одна страница получена из другой простым копированием и заменой DOCTYPE, как это указано в теме.

Как при этом могли появиться различия в top, как Вы их увидели?

Простым поиском по странице я не вижу даже самих чисел 132 и 716...
sergeiss
Цитата (Владимир55 @ 17.06.2013 - 00:36)
Простым поиском по странице я не вижу даже самих чисел 132 и 716...

Да, ТОП тут равен 295.5, а не 132 - это для первой ссылки

<div style="z-index: 999; border-bottom-color: blue; border-bottom-width: 5px; 
border-bottom-style: solid; position: absolute; border-left-color: blue; border-left-width: 5px;
border-left-style: solid; padding-bottom: 10px; padding-left: 10px; width: 350px;
padding-right: 10px; background-attachment: scroll; background-repeat: repeat; background-image: none;
background-position: 0% 0%; background-size: auto; background-origin: padding-box; background-clip: border-box;
background-color: rgb(236, 242, 230); height: 130px;
border-top-color: blue; border-top-width: 5px; border-top-style: solid; border-right-color: blue;
border-right-width: 5px; border-right-style: solid; padding-top: 10px; left: 434.5px; top:
295.5px;"
id="myDiv">


Сорри, я не просто код смотрел... Я выбрал "Проинспектировать элемент" в Опере :) То есть, я увидел то, каким оно стало уже после загрузки страницы. Возможно, у тебя там где-то есть динамическое изменение параметров.



_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Цитата (sergeiss @ 16.06.2013 - 20:43)
Возможно, у тебя там где-то есть динамическое изменение параметров.

Нету там никаких динамических изменений...

Я же говорю - страницы получены копированием. Причем, основная масса кода - это фон, сами видите. А коды всплываюшего прямоугольника вообще абсолютно идентичны.
Владимир55
Вообще, Вы сами то как шапку делаете? DOCTYPE уазываете? Каким образом?
SerginhoLD
<script>
onload = function ()
{
with (document.getElementById ('myDiv').style)
left = (document.body.clientWidth - 350) / 2 + 'px',
top = (document.body.clientHeight - 130) / 2 + 'px';
}
</script>
<div
style="z-index: 999; border: 5px solid blue; position: absolute; padding: 10px; width: 350px; background-color: rgb(236, 242, 230); height: 130px; left: 768.5px; top: 585px; background-position: initial initial; background-repeat: initial initial;" id="myDiv">
<p
style="TEXT-ALIGN: right; MARGIN: 0px; CURSOR: pointer" onclick="this.parentElement.style.display = 'none'"><img border="0" src="221_files/x.png" width="25" height="29"></p>
<p
style="TEXT-ALIGN: center; MARGIN: 0px; FONT-FAMILY: Arial,Helvetica sans-serif; COLOR: black; FONT-SIZE: 18px">Приветствуем!</p>
</div>

если по середине экрана, то лучше сделать position: fixed
+ центрировать не по документу, а по окну браузера, основная ошибка,
и для правильного положения нужно еще вычитать размеры самого всплывающего окна, padding тоже увеличивает размеры div

_____________
"internet explorer всех правильней отображает страницы" ©
sergeiss
Цитата (Владимир55 @ 17.06.2013 - 00:51)
Нету там никаких динамических изменений...

У тебя вверху страницы код JS , который меняет позицию именно этого элемента. SerginhoLD подробнее написал уже.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Цитата (sergeiss @ 16.06.2013 - 21:02)
У тебя вверху страницы код JS , который меняет позицию именно этого элемента.

Я понимаю, что имется JS, который эту позицю меняет. Но ведь меняет одинаково в обоих вариантах - код то один и тот же!

Или Вы хотите сказать, что один и тот же JS код на одной странице ведет себя так, а на другой странице иначе?

Причем, страницы отличаются исключительно DOCTYPE...
Владимир55
А если от очень сложной и непонятной мне теории перейти к практике?

Что конкретно нужно изменить, чтобы прямоугольничек был в середине экрана?
sergeiss
Цитата (Владимир55 @ 17.06.2013 - 01:12)
Или Вы хотите сказать, что один и тот же JS код на одной странице ведет себя так, а на другой странице иначе?

Похоже на то...

Посмотри пару ссылок, возможно найдешь что полезное:
http://javascript.ru/blog/Andrej-Paraniche...menta-elementov
http://javascript.ru/blog/subzey/Otobrazhe...ML-kopaem-vglub

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Владимир55
Спасибо!
killer8080
Владимир55
var clientHeight = Math.min(document.documentElement.clientHeight, document.body.clientHeight);

или с использованием jQuery
var clientHeight = $(window).height(); 
Владимир55
Спасибо за идею!
Но, к сожалению, у меня не хватает знаний для того, чтобы ею воспользоваться...

Как эти конструкции вставить в изначальный код, куда?

(jQuery к странице подключен, но интересны оба варианта).
killer8080
вместо
document.body.clientHeight

Math.min(document.documentElement.clientHeight, document.body.clientHeight)

на jQ весь код
onload = function ()
{
with (document.getElementById ('myDiv').style)
left = (document.body.clientWidth - 350) / 2 + 'px',
top = (document.body.clientHeight - 130) / 2 + 'px';
}

заменить на
$(function(){
$('#myDiv').css({
'left' : parseInt($(window).width() / 2) + 'px',
'top' : parseInt($(window).height() / 2) + 'px'
})
})
Владимир55
В первом случае прямоугольничек прилипает к левому верхнему углу - см. вот

(На jQ сейчас попробую)
Владимир55
При использовании jQuery почему-то сползает вправо и вниз - см. тут
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.