IE未检测到Media Query和Linear-Gradient

时间:2018-02-22 18:48:22

标签: css media-queries

我有以下适用于所有IE的媒体查询。当我进入IE11或更早版本时,浏览器无法检测到我的媒体查询。

<!--[if IE]>
<style>
   @media screen (min-width:1281px){
    .topleft {
        position: absolute;
        top: 0%;
        left: -16% !important;
    }

    .bgimg {
        width: 69%;
        left: 15%;
    }
}

@media screen (max-width: 1280px){
    .middle1 {
        position: absolute;
        top: 44% !important;
        left: 33% !important;
        width: 38% !important;
        -ms-transform: translate(-50%, -50%);
        text-align: center;
    }
}
</style><![endif]-->

我的第二个问题是我无法在IE中正确执行线性渐变。

我能在这里找到关于如何实现它的参考。但是,当我执行-ms-linear-gradient(...)时,它会创建渐变,但它会覆盖我拥有的背景图像。如果没有背景图像被遮挡,我怎样才能实现它?

background-image: url('http://oc2-reatest/OCUpgrade52/images/Stethoscope_ver2.jpg');/*, -ms-linear-gradient(top, #f0f0f0 0%, #f0f0f0 10%);

/*filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f0f0f0', endColorstr='#f0f0f0');/*For IE7-8-9*/ */

1 个答案:

答案 0 :(得分:0)

是否在样式表中(即单独的css文件)? (条件注释仅适用于HTML文件)

如果没有(例如,如果它在HTML文件中),重要的是它在之后包括你的通用样式表,否则它将被一般样式覆盖。

第三个可能的原因:在一般样式中可能存在具有更高特定性的规则,这些规则否决了IE媒体查询中的规则。例如,如果存在类似.container_all .topleft的规则,则其具有比.topleft规则更高的特定性并取消它。为避免这种情况,请在常规样式表中搜索选择器,并在媒体查询中使用相同的选择器。