LShadow77
Newbie-
Posts
8 -
Joined
-
Last visited
LShadow77's Achievements
Explorer (1/14)
-1
Reputation
-
Затенение страницы перед выводом "лайтбока"
LShadow77 replied to LShadow77's question in HTML Coding
...или просто забить на некоторые не бросающиеся в глаза несуразности IE, скрипт-то уже написан. А этот глючок в эксплорере проявляется только, если начать специально изменять размеры окна и скролить его. Пока остановился на таком решении, раз другого не остаётся. А за ответы спасибо. Если будут ещё идеи - пишите. -
Затенение страницы перед выводом "лайтбока"
LShadow77 replied to LShadow77's question in HTML Coding
В этой теме я поднял вопрос только про динамическое затемнение окна перед тем, как появится лайтбокс, при чём, чтобы корректно работало во всех броузерах, включая пресловутый IE. Сам лайтбокс пока что не рассматриваю. Действительно, на первый взгляд проще задать в CSS: "position:fixed; left:0px; top:0px; width:100%; height:100%;" и красота, работает во всех нормальных броузерах. Но только не в IE8 (и-да-гореть-билу-гейцу-в-линуксовом-аду-во-веки-веков-аминь)! Т.к. атрибут fixed оно не поддерживает. И вообще, за этот короткий период освоения html/css, я уяснил, как мне кажется, суть проблемы кроссброузерности: "...кроме/только не в IE", "IE игнорирует...", "IE неверно отображает...", "IE не поддерживает...", "в IE всё не так", "гуманоиды рулят". Решение всех бед: на территории стран СНГ IE запретить к использованию, за нарушение - ПЖ! Увы, только в мечтах. Приведённый скрипт хоть как-то работает в эксплорере. Осталось только выяснить, как заставить IE пересчитывать размеры страницы без учёта заданного элемента (в данном случае, блока DIV). И вот некоторые мои соображения. Если написать Shade.style.display="none"; или ч.л. подобное, то мозила/опера немедленно изменяют это свойство в DOM. В IE этот процесс, по ходу, асинхронный. Присвоение свойства атрибуту происходит не в момент интерпритации соответствующей строки скрипта, а хз когда. Может через какое-то время, по таймеру. А может даже, только после возврата из функции. Всё для увеличения производительности, естественно, но по-этому и не срабатывает. Вот если бы в javascript существовала функция/метод, которая заставляла бы броузер немедленно применять все сделанные изменения к дереву DOM, то это могло бы стать решением. Но, возможно или скорее всего, я тут ошибся. Очень хочется узнать, кто что по этому поводу думает. P.S. Этот форум в IE6 некорректно отображается, вместо меню - каша! P.S.2 Оказывается, что в IE7 и IE8 свойство CSS — position: fixed работает только если указать doctype: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" «www.w3.org/TR/html4/strict.dtd»> (это же касается и многих других якобы не поддерживаемых свойств). Тока мне больше по душе transitional, так что вопрос всё ещё открыт... -
Затенение страницы перед выводом "лайтбока"
LShadow77 replied to LShadow77's question in HTML Coding
npofopr Пожалуй, вы правы. Закину и туда удочку... -
Затенение страницы перед выводом "лайтбока"
LShadow77 replied to LShadow77's question in HTML Coding
Естественно, качественная литература - №1 при изучении чего-либо. На втором месте - гугл. Но один хороший ответ хорошего специалиста на форуме может избавить от многих долгих часов поиска (не всегда результативного, между прочим). Для этого форумы и существуют. Тем более часто бывает, что задачу нужно решить как можно быстрее и нет времени на последовательное и вдумчивое обучение. По-этому у меня большая просьба - если вы можете предложить конкретное решение, то я буду очень признателен. Если нет, то не надо, пожалуйста, засорять тему. P.S. Приятного аппетита -
Затенение страницы перед выводом "лайтбока"
LShadow77 replied to LShadow77's question in HTML Coding
Для того, чтобы разобраться, как работает код, надо его написать. В этом и состоит моя цель - практика. Хочу понять, как сделать что-то реально работающее (и кросброузерное естественно) своими руками, не прибегая к сторонним костылям ака jquery и проч. (костыли нужны профессионалам). Я новичок в html/javascript, но отнюдь не в программировании. Так что в этом мне проще. Готовая реализация ещё не гарантирует решения всех проблем. Тот же LightBox, например, полностью развалился в самом эксплорерном из эксплорернейших.)) К тому же, в чужом коде, зачастую, сам чёрт может ногу сломать... -
Ещё раз здравствуйте! Сейчас пытаюсь реализовать эффект затемнения страницы полупрозрачным блоком DIV, полностью покрывающим тело документа. Т.е., добавляется элемент DIV с id="DocShade", большим значением z-index и position:absolute;left:0px;right:0px. атрибутам width и height соответственно присваиваются величины max(scrollWidth,clientWidth) и max(scrollHeight,clientHeight), взятые у document.documentElement или document.body (в зависимости от compatMode). Когда происходит изменение размеров окна, обработчик onresize выполняет следующие действия: 1)временно скрывает блок, чтобы исключить его из размеров документа: Shade.style.display="none"; 2)изменяет размеры блока в соответствие с новыми размерами документа; 3)снова активизирует блок: Shade.style.display="block"; В FireFox всё прекрасно работает! В Internet Explorer 8 пункт (1) не прокатывает ((((!!!! При изменении размеров окна документа, его рабочая область растягивается по ширине и высоте до предела, так как размеры покрывающего блока из расчётов не исключаются (шоб Бил застрелился!) То есть, вот так отображается в FireFox - правильно: А вот, как в IE8: Помогите, пожалуйста, решить эту проблему! И да, вот собственно сам html: P.S. в java я ещё больший новичок, чем в html (стаж - три дня).
-
Увы, line-height тут не сработал.
-
Здравствуйте! Я - абсолютный новичок как на этом форуме, так и вообще в HTML (стаж - пять дней). По-этому не судите строго, ежели чего. Вопрос состоит в следующем. Вот тестовый HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <TITLE>Титан</TITLE> <STYLE type="text/css"> BODY { background: #D4E5E9 url("images/background.gif") 850px 454px repeat; font: 14pt "Microsoft Sans Serif"; font-weight: bold; margin: 0px; padding: 0px; } H1 { font: 20pt "Microsoft Sans Serif"; font-weight: bold; } IMG { margin: 0px; padding: 0px; border: 0px; } </STYLE> </HEAD> <BODY> <IMG src="images/blackbar.jpg" style="width:100%;height:4px;" alt=""> <H1 align=center>Т И Т А Н</H1> <IMG src="images/blackbar.jpg" style="width:100%;height:4px;" alt=""> <P align="justify"> Титан - крупнейший спутник Сатурна, второй по величине спутник в Солнечной системе (после спутника Юпитера Ганимеда), является единственным, кроме Земли, телом в Солнечной системе, для которого доказано... бла-бла-бла... </BODY> </HTML> Вот, как это показывает Fire Fox: А так это отображает IE8: Как видно,в IE присутствуют странные вертикальные отступы от изображений чёрных полос, и это при том, что для тегов BODY и IMG явно указано: "margin: 0px; padding: 0px;"! Как их убрать? Никаких других атрибутов, ответственных за отступы я не нашёл (( Спасибо!