css中的条件子句

时间:2012-09-14 04:32:15

标签: html css

<!--[if lte IE 8]>
.food_disp{
    background: url("../images/food.png") center bottom no-repeat;
    padding: 80px;

}
<![endif]-->
<!--[if !IE]>
.food_disp {
    background: url("../images/food.png") center bottom no-repeat;
    padding: 50px;
}

<![endif]-->

我已尝试使用上面的css将图像显示为背景,其中填充设置如上所示。我想告诉翻译/解释器,如果客户端浏览器版本低于或等于8,则向图像块添加一点填充距离以供显示,或者如果这根本不是IE,则使用已定义的块。 图像显示没有添加条件子句 也就是说,只有

 .food_disp {
        background: url("../images/food.png") center bottom no-repeat;
        padding: 50px;
    }

被使用。 但如果添加了条件,那么图像就会消失。

4 个答案:

答案 0 :(得分:1)

它没有那样的工作。您有两种选择:

  1. use conditional comments in HTML包含特定于IE的样式表
  2. 应用CSS黑客(不要这样做)。另请参阅Ie8 CSS Hack - best method?

答案 1 :(得分:1)

我建议您使用HTML5Boilerplate

执行此操作
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if IE 9]>    <html class="no-js ie9 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> 

<html class="no-js" lang="en"> <!--<![endif]-->

CSS:

.ie9 .food_disp{
  .......
}
.ie8 .food_disp{
  .......
}

答案 2 :(得分:0)

..........................................

嗨现在习惯了这种格式我的图像路径是概率

  <!--[if lte IE 8]>
        .food_disp {
            background: url("images/food.png") center bottom no-repeat;
            padding: 50px;
        }
    <![endif]-->



    <!--[if !IE]>
    .food_disp {
        background: url("images/food.png") center bottom no-repeat;
        padding: 50px;
    }

    <![endif]-->

more info

答案 3 :(得分:0)

如果要使用内联样式表,请按以下方式使用它们:

<!--[if lte IE 8]>
<style>
    .food_disp {
        background: url("images/food.png") center bottom no-repeat;
        padding: 50px;
    }
</style>
<![endif]-->

注意&#39;样式&#39;围绕你的定义的标签。

关于&#39; ..&#39;问题,那些点显然指向你的html文件的父目录。使用内联css时,您需要记住设置正确的html文件相对路径。这可能与css文件中使用的路径不同,如果它用作单独的样式表文件。