在CSS(更少)中针对IE 8?

时间:2013-05-08 16:35:08

标签: css less

这是我的CSS:

.lt-ie8{
    body{
        display:none!important;
    }
}

这是我的HTML:

<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>

CSS似乎没有正确定位IE7,有谁知道我哪里出错了?

2 个答案:

答案 0 :(得分:1)

这对我很有用。

<html>
<head>
    <title></title>
    <style type="text/css">
        .test{
            background: green;
            height: 100px;
            width: 100px;
        }
    </style>
    <!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
    <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8">
        <style type='text/css'>
            .test{
                background: red;
            }
        </style>
    <![endif]-->
    <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
    <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

</head>
<body>
    <div class="test"></div>
</body>
</html>

答案 1 :(得分:0)

IE7不会让你隐藏身体标签。一个解决方案是创建一个包装器div并隐藏它。我之前遇到过这种情况,但我不确定原因。

<html>
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
    <style>
        .lt-ie8 div{ display: none !important;}
        body, html{width: 100%; height: 100%;}
        div {background-color: red; width: 100%; height: 100%;}
    </style>
</head>
<body>
<div></div>
</body>
</html>