Здравствуйте
Столкнулся с проблемой - при просмотре страницы Firebag он показывает что часть свойств элементам на странице задается через element.style , но что это за чудо такое и где лежит, к сожалению не до конца понятно, интернет тоже молчит.
Единственное чем удается перекрывать данные свойства - это выставлением нужных свойств в CSS файлах с обязательным прописыванием Important!
Понимаю, что это не рещение проблемы а лишь заплатка поэтому прошу помощи.
Комментарии
Улыбнуло!
element.style означает какбо "стиль элемента", а элементом в данном случае выступает html-тег, т.е., к примеру, в случае такой конструкции в исходном html-коде:
<span style="color: black;">...</span>
элементом выступает тег span, а его стилем атрибут style.С одной стороны все верно прописывать в стилях с импортантом, но с другой, нужно смотреть, не используется ли там аякс, который динамически меняет этот стиль (например, как в views slideshow и т.п.).
Доходчиво?
тоже порой гемор с этим. А как выявить, в каком конкретно файле (файле шаблона, модуля или еще каком) задается установка этого стиля?
Опять же можно выявить по html и css, который виден в firebug
Смотря какой модуль. Помню юзал модуль rotator, там как раз была такая проблема. Думал хакнуть, а отказался от него и стал использовать view_rotator, а там сделал темизацию, вырезав все лишнее. В общем копайте модуль, если не хотите перекрывать, а потом еще и еще раз перекрывать стили.
Спасибо, стал догонять потихоньку.
Задача моя была следующая - выводил ноду через Iframe Lightbox2 и пытался определить как изменить размеры окна. И именно в element.style выводились размеры окна.
Единственный вариант изменения размеров окна в ССК файле к стилям значения !Important.
И еще вопрос почему если я в CCK файле для Lightbox2 ставлю скрыть Шапку (#header) у меня она и на сайте исчезает?
Описался не ССK а СSS
Спасибо, стал догонять потихоньку.
Задача моя была следующая - выводил ноду через Iframe Lightbox2 и пытался определить как изменить размеры окна. И именно в element.style выводились размеры окна.
Единственный вариант изменения размеров окна в CSS файле, применение к стилям значения !Important.
И еще вопрос почему если я в CSS файле для Lightbox2 ставлю скрыть Шапку (#header) у меня она и на сайте исчезает?
Потому-что #header, т. е. div id="header" прописан в файле page.tpl.php темы оформления.
Kremenetskiy
Я имел вв иду, почему CSS файлы которые должны имзменять вид только для Lightbox, т.е. только при его выводе, воздействуют и на остальные страницы сайта. Я хотел чтобы Header не выводился только для окна lightbox. Для меня правка темы в tpl файлах пока сложновата,так что пытаюсь выкручиваться через CSS.
Потому что там, возможно, присваивается оному div не один класс, а несколько. Если перекрывать стили используя только первый класс из присвоенных div'у, то он может затрагивать и другие слои с одноименными классами.
А откуда в окне Lightbox div с id header? Вот сейчас как раз в очередной раз кручу этот модуль и не вижу в его html-коде ничего подобного.
не туда)
[URL=http://s1.ipicture.ru/Gallery/Viewfull/9789505.html][IMG]http://s1.ipict...
Я его сам прописал, В lightbox2/css/lightbox_alt.css .
Я полагал что данное правило не показывать Header будет подключаться только для страницы выводимой через Lightbox iframe.
Задача стояла ледующас скрыть лишние элементы страницы которые туда выводятся. Я понимаю, что правильней просто создать отдельный шаблон (туму) для конкретной страницы (типа материала). но как я писал ранее, я пока не силен в этом, поэтому ищу обходные пути.
Попробуйте так:
display: none;
}
Прости за мою туповатость, все это я прописываю в исполняемом lightbox_alt.css. Если в нем то он также убирает Header во всей теме - везде (на всех страницах), а не только в Lightbox.
[URL=http://s1.ipicture.ru/Gallery/Viewfull/9790112.html][IMG]http://s1.ipict...
Если body.lightbox-processed подгружается на всех страницах, то ищи перед тем #header тот div, который вылезает только тогда, когда активизируется lightbox и ставь этот div class перед #header
А еще можно получить уникальный css-путь для этого #header. В firebug (во вкладке HTML) кликни на этом div'е правой кнопкой мыши и в контекстном меню нажми скопировать CSS-путь.
Ок. Буду пробовать как получиться отпишусь.
Вот путь
html.js body.lightbox-processed div#wrapper div#container.clear-block div#header
Только надо короче:
body.lightbox-processed div#wrapper div#container.clear-block div#header
(а то бывает, что некоторые браузеры не видят длинные пути, например Google Chrome)
Не думаю, что #header подгружается на всех страницах темы оформления с таким body
Все решил проблему, надо было файл page-node-lightbox2.tpl.php http://www.drupal.ru/node/71513#comment-464650 скопировать в папку с темой и там удалить строку 30 на которую заругался браузер (<?php phptemplate_comment_wrapper(NULL, $node->type); ?>)
Теперь, при загрузке lightbox подхватывается нужный файл page-node-lightbox2.tpl.php
Через cSS данная проблема оказалась неразрешима, пришлось прибегнуть к темизации.
Однако, минуя стадию работы с tpl-файлами темы оформления, ты сразу пришел к темизации. Поздравляю! Теперь самое время копнуть глубже и, сначала полностью поменять какую-нибудь тему оформления под себя, а затем, набравшись опыта, создать свою тему оформления с темизацией views и шаблонов других модулей.
По правилам форума, если задача, обозначенная топике решена, то необходимо перед заголовком топика поставить [Решено]