在使用 Zen 子主题的 Drupal 6 上,除了 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 不起作用,我应该改用什么?
或者对于所描述的问题是否有不同的解决方案?
更新:我的评论没有很好地显示在下面,这是我最终找到的解决方案:
感谢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 子主题中发现了 bug 的来源。div main 需要 azoom:1;
并且这些条件样式表都不是必需的。但是如果你不能解决原来的问题,那就去吧。