На Drupal 6, использующей подтему Zen, наша пользовательская таблица стилей прекрасна и совершенна везде, кроме Internet Explorer 7. Похоже, это ошибка :hover
, когда любая ссылка, на которую мы наводим курсор, заставляет основную область контента перепрыгивать через левая боковая панель (называется ли это обрывом или сбросом поля?).
Пробная установка min-height: 1% для всех :hover
и родительских элементов, но есть очень многие, наконец, решили указать 'ie7specific.css', в котором определены нулевые элементы наведения. Неудача для пользователей Internet Explorer 7.
Однако в файле myspecialsub_theme.info
myspecialsub_theme.css
автоматически отправляется в Internet Explorer, в результате чего создаются элементы :hover
. Нам нужно указать, что Internet Explorer 7 получает свой конкретный CSS, а все остальные браузеры получают обычный.
conditional-stylesheets[if gt IE 7][all][] = myspecialsub_theme.css
conditional-stylesheets[if IE 7][all][] = ie7specific.css
conditional-stylesheets[if lt IE 7][all][] = myspecialsub_theme.css
conditional-stylesheets[if !IE][all][] = myspecialsub_theme.css
Это работает для версий Internet Explorer, но Firefox не получает таблицу стилей. Почему не работает! IE, что я должен использовать вместо этого?
Или есть другое решение описанной проблемы?
UPDATE:
Мой комментарий не отображался ниже, вот решение, которое я наконец нашел:
Решение благодаря wikipedia.org / wiki / Conditional_comment .
В subtheme.info
:
; stylesheets[all][] = specific_subtheme.css
conditional-stylesheets[if gt IE 7][all][] = specific_subtheme.css
conditional-stylesheets[if IE 7][all][] = ie7specific.css
conditional-stylesheets[if lt IE 7][all][] = specific_subtheme.css
В page.tpl.php
:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" lang="<?php print $language->language; ?>" dir="<?php print $language->dir; ?>">
<head>
<title><?php print $head_title; ?></title>
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<?php print $head; ?>
<?php print $styles; ?>
<![if !IE]>
<link href="/sites/all/themes/specific_subtheme/specific_subtheme.css" rel="stylesheet">
<![endif]>
<?php print $scripts; ?>
</head>
Сумасшедший, да?
ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ: Лучше всего я наконец обнаружил источник ошибки :hover
в подтеме Zen. Для div main требуется zoom:1;
, и ни одна из этих условных таблиц стилей не нужна. Но вы идете, если не можете решить исходную проблему.