【问题标题】:Media Query and Linear-Gradient is not being detected by IEIE 未检测到媒体查询和线性梯度
【发布时间】:2018-08-02 18:10:03
【问题描述】:

我有以下特定于所有 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*/ */

【问题讨论】:

    标签: css media-queries


    【解决方案1】:

    那在您的样式表中吗(即单独的 css 文件)? (条件 cmets 仅适用于 HTML 文件)

    如果不是(即如果它在 HTML 文件中),重要的是它跟在 之后 包括您的通用样式表,否则它将被通用样式覆盖。

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

    【讨论】:

    • @Johannes:是的,它在一般样式表之后,你是对的,它在我现在正在做样式的 HTML 文件中。对于您的回复,我从一般样式表中为您做了相同的选择器。但是,它仍然没有用我正在尝试做的更改覆盖这些更改
    • 我找到了这个关于 IE9 的答案 - 也许有帮助:stackoverflow.com/a/15442638/5641669,而这个关于 IE10:stackoverflow.com/q/20114855/5641669
    • 约翰内斯:非常感谢。这实际上有很大帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2014-06-21
    • 2013-02-18
    • 2014-03-29
    相关资源
    最近更新 更多