css - IE11 消息栏从底部飞起而不是从顶部缓入

标签 css sass css-transitions internet-explorer-11

我有一个隐藏的消息栏,除非服务器响应消息以呈现某些内容(例如“密码和用户名无效。”)。然后它从顶部缓入以显示消息。

在最新版本的 Chrome、Edge、Safari 和 Firefox 中,这工作正常。在 IE 中,它从浏览器的底部向上飞,穿过可视区域,然后挂载在它应该被可视的地方。

这就是我拥有的 Sass。我一直在尝试使用 transformtransition 来获得正确的结果,而不影响其他浏览器。我做不到,所以寻找建议:

#messages {
    z-index: 999;
    position: fixed;
    width: 100%;

    .container {
        max-width: 890px;

        @media (max-width: 992px) and (min-width: 768px) {
            max-width: 720px;

        }

        @media (max-width: 767px) and (min-width: 576px) {
            max-width: 510px;
            padding-left: 0px;
            padding-right: 0px;
        }
    }

    a {
        color: #FFF;
        font-weight: bold;
    }

    i {
        cursor: pointer;
        padding-top: 3px;
    }

    .hide-messages-bar {
        color: #FFF;
        position: relative; 
        top: 105px;
        transform: translateY(-5vh);
        transition: transform 0.5s ease-in-out;   
        box-shadow: 0 1px 6px 2px #333        
    }

    .hide-messages-bar.show-success-messages-bar {
        background-color: $green;                
        transform: translateY(0vh);
        padding: 8px 0;
    }

    .hide-messages-bar.show-error-messages-bar {
        background-color: $red;                
        transform: translateY(0vh);
        padding: 8px 0;
    }
}

最佳答案

arbuthnott 让我指明了正确的方向。事实证明 px 也能正常工作,所以我改用了它。很难让 % 的行为与在其他浏览器中的行为相同。

使用此工具将 vh 转换为 px:

https://jsfiddle.net/Dwaaren/j9zahaLL/

最后是这样的:

.hide-messages-bar {
    color: #FFF;
    position: relative; 
    top: 105px;
    transform: translateY(-22.3px);
    transition: transform 0.5s ease-in-out;   
    box-shadow: 0 1px 6px 2px #333        
}

其他两个类上的 0vh 显然没有做任何事情,所以保持原样。现在所有主流浏览器的性能都差不多。

关于css - IE11 消息栏从底部飞起而不是从顶部缓入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51954276/

相关文章:

html - 如何定位具有特定 css 属性的元素(仅 CSS 解决方案)?

javascript - 使用 Javascript(不使用 modernizr)检测 CSS 转换?

html - 如何清除 flexbox 元素?

基于 Javascript 的 HTML/CSS Lint

css - 为什么这不适用于 SCSS

java - Vaadin:识别 HTML 添加的 CSS 类

javascript - 在任意图像上保持垂直节奏

css - 页面加载时的宽度 CSS 过渡

javascript - toggleClass() 用于在纸波纹后调整圆圈大小

html - 单击 css 时禁用超链接