IE特定的CSS无法渲染

时间:2014-04-23 06:51:40

标签: javascript html css wordpress internet-explorer

有人可以帮助我为什么IE特定的CSS不能在IE上工作吗?

以下是直播网站的链接: http://www.themebia.com/pretavivre/

我试图修复IE中的顶级导航栏。导航栏在Chrome和FF中看起来不错,但在IE中看起来不太好。

我已经在html的头部为IE添加了适当的css修复程序。

<!--[if IE]>
            <link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_directory')?>/css/ie.css"/>
        <![endif]-->

ie.css在head元素中正确链接,但css在IE中不起作用。

您可以使用http://www.themebia.com/pretavivre/wp-content/themes/pretAvivre/css/ie.css

访问ie.css

注意:我已经为IE添加了firebug,您必须右键单击检查元素。

8 个答案:

答案 0 :(得分:1)

TARGET IE 10
http://suhasrathod.wordpress.com/2013/04/29/ie10-css-hacks/

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { #yourDiv {margin-left:-570px;} }

答案 1 :(得分:0)

您使用的是什么IE版本?

从IE5到IE9(包括)支持条件注释,因此它们不能在IE10,IE11中工作。

More on that

答案 2 :(得分:0)

您使用的是什么版本的ie? 如果你在ie8上测试它,我很遗憾地告诉你ie8和早期版本不支持:last-child。

答案 3 :(得分:0)

只是一个猜测,但您似乎在所有其余CSS之前加载IE CSS 。该链接似乎正在工作,但我假设你的CSS的其余部分覆盖了你为IE加载的已经声明的CSS。

修复方法是将IE CSS文件移动到最后 CSS文件中。

答案 4 :(得分:0)

您错过;末尾的bloginfo()。但是,Wordpress Codex建议使用get_stylesheet_directory_uri();代替bloginfo('stylesheet_directory');

试试这个:

<!--[if IE]>
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_directory_uri();?>/css/ie.css"/>
<![endif]-->

答案 5 :(得分:0)

请注意,IE 10及更高版本根本不支持条件评论。

定位IE的所有版本

<!--[if IE]>
    <link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->

除IE之外的一切目标

<!--[if !IE]><!-->
    <link rel="stylesheet" type="text/css" href="not-ie.css" />
 <!--<![endif]-->

仅限目标IE 7

<!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->

仅限目标IE 6

<!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->

仅限目标IE 5

<!--[if IE 5]>
    <link rel="stylesheet" type="text/css" href="ie5.css" />
<![endif]-->

仅限目标IE 5.5

<!--[if IE 5.5000]>
<link rel="stylesheet" type="text/css" href="ie55.css" />
<![endif]-->

目标IE 6和LOWER

<!--[if lt IE 7]>
    <link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->

<!--[if lte IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->

目标IE 7和LOWER

<!--[if lt IE 8]>
    <link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->

<!--[if lte IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->

目标IE 8和LOWER

<!--[if lt IE 9]>
    <link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->

<!--[if lte IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->

目标IE 6和更高

<!--[if gt IE 5.5]>
    <link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->

<!--[if gte IE 6]>
    <link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->

目标IE 7和更高

<!--[if gt IE 6]>
    <link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->

<!--[if gte IE 7]>
    <link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->

目标IE 8和更高

<!--[if gt IE 7]>
    <link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->

<!--[if gte IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->

Universal IE 6 CSS

<!--[if !IE 6]><!-->
  <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" />
<!--<![endif]-->

<!--[if gte IE 7]>
  <link rel="stylesheet" type="text/css" media="screen, projection" href="REGULAR-STYLESHEET.css" />
<![endif]-->

<!--[if lte IE 6]>
  <link rel="stylesheet" type="text/css" media="screen, projection" href="http://universal-ie6-css.googlecode.com/files/ie6.0.3.css" />
<![endif]-->

source

答案 6 :(得分:0)

在style.css

更改此

ul#menu-showroom {

  margin:0;

  padding:2px 0 !important;

}

如果它适用于上导航栏,请告诉我

答案 7 :(得分:0)

我非常讨厌IE,特别是版本6,7和8.当你设计一个wordpress主题时,你必须设置两次样式,一次适用于正确的浏览器,然后适用于IE古人。要记住的另一件大事是,这些古人不支持媒体查询。

因此,要解决您的问题,请创建一个名为ie.css的样式表。您将使用它来为IE 7和8做所有样式。

接下来,您需要将该样式表排入队列,但我们会有条件地将其排入队列。此样式表仅适用于IE8以前的IE版本。所以在你的functions.php中,添加以下内容

function enqueque_ie_stylesheet() {
// Load the Internet Explorer specific.  stylesheet.
 wp_enqueue_style( 'style-ie',   get_template_directory_uri() . '/ie.css',   array(), '' );
    wp_style_add_data( 'style-ie', 'conditional', 'lt IE 9' );
 }
add_action( 'wp_enqueue_scripts', 'enqueue_ie_stylesheet' );

您现在可以在ie.css中添加样式。如果您使用的是儿童主题,请记住将get_template_directory_uri更改为get_stylesheet_directory_uri