相关疑难解决方法(0)

使用calc()的CSS转换在IE10 +中不起作用

我使用CSS过渡从右到左动画鼠标悬停的容器.这适用于除Internet Explorer之外的所有浏览器.原因是我在CSS left属性中使用(并且需要使用)calc().

我在这里创建了一个现场演示:现场演示

CSS看起来像这样:

div {
    background: red;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 100px;
    left: 90%;
    -webkit-transition: left 0.7s cubic-bezier(0.77, 0, 0.175, 1);
    -moz-transition: left 0.7s cubic-bezier(0.77, 0, 0.175, 1);
    -o-transition: left 0.7s cubic-bezier(0.77, 0, 0.175, 1);
    transition: left 0.7s cubic-bezier(0.77, 0, 0.175, 1);
}
div.translate-less {
    left: calc(90% - 4rem)
}
Run Code Online (Sandbox Code Playgroud)

我在使用jQuery鼠标悬停时添加了.translate-less类:

$(document)
.on( 'mouseenter', 'div', function(){
    $(this).addClass('translate-less')
})
.on( 'mouseleave', 'div', function(){
    $('div').removeClass('translate-less');
})
Run Code Online (Sandbox Code Playgroud)

现在我想在Internet Explorer中顺利过渡.为此,我甚至会抛弃这些特定浏览器的calc()并添加一个规则left: 85%;.但是IE 10和11已经放弃了对条件评论的支持,似乎没有办法专门针对这些浏览器.IE 10可以使用-ms-high-contrast-hack进行攻击 …

css internet-explorer css-transitions

49
推荐指数
1
解决办法
2万
查看次数

标签 统计

css ×1

css-transitions ×1

internet-explorer ×1