ie浏览器中CSS转场闪烁



我在internet explorer中有这个代码的问题:

CSS:

.nav-fillpath a {
    width: 100px;
    height: 100px;
    position: absolute;
    display: block;
    bottom: 0%;
    left:0;
    right:0;
    color: #3e3e3e;
    margin-left:auto;
    margin-right:auto;
    outline: none;
    font-family: Arial;
    text-decoration: none;
    text-align: center;
    line-height: 1.4;
    z-index: 1000;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}
.nav-fillpath a strong {
    color: #cd575b;
}
.nav-fillpath .icon-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.nav-fillpath a::before,
.nav-fillpath a::after,
.nav-fillpath .icon-wrap::before,
.nav-fillpath .icon-wrap::after {
    position: absolute;
    left: 50%;
    width: 2px;
    max-width: 2px;
    height: 50%;
    background: #3e3e3e;
    content: '';
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.nav-fillpath .icon-wrap::before,
.nav-fillpath .icon-wrap::after {
    height: 0;
    opacity: 0;
    background: #cd575b;
}
.nav-fillpath a::before,
.nav-fillpath .icon-wrap::before {
    top: 50%;
    -webkit-transform: translateX(-50%) rotate(125deg);
    transform: translateX(-50%) rotate(125deg);
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
}
.nav-fillpath a::after,
.nav-fillpath .icon-wrap::after {
    top: 50%;
    -webkit-transform: translateX(-50%) rotate(-125deg);
    transform: translateX(-50%) rotate(-125deg);
    -webkit-transform-origin: 50% 0%;
    transform-origin: 50% 0%;
}
.nav-fillpath h3 {
    position: relative;
    margin: 0;
    color: #fff;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 0.85em;
    text-align: center;
    opacity: 0;
    display: block;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
    transition: transform 0.3s, opacity 0.3s;
}
.nav-fillpath a.next h3 {
    text-align: center;
    display: block;
    text-decoration: none;
}
.nav-fillpath a:hover .icon-wrap::before,
.nav-fillpath a:hover .icon-wrap::after {
    height: 50%;
}
.nav-fillpath a:hover::before,
.nav-fillpath a:hover .icon-wrap::before {
    -webkit-transform: translateX(-50%) rotate(135deg);
    transform: translateX(-50%) rotate(135deg);
}

.nav-fillpath a:hover::after,
.nav-fillpath a:hover .icon-wrap::after {
    -webkit-transform: translateX(-50%) rotate(-135deg);
    transform: translateX(-50%) rotate(-135deg);
}

.nav-fillpath a:hover h3 {
    opacity: 1;
    -webkit-transform: translateY(-100%) translateX(0%);
    transform: translateY(-100%) translateX(0%);
}

这里是JSFiddle:

http://jsfiddle.net/74Hzu/

OK的解决方案是删除显示:块;从这里

.nav-fillpath .icon-wrap {
    position: relative;
    width: 100%;
    height: 100%;
}

和这里是FIXED JSFiddle:

http://jsfiddle.net/74Hzu/4/

当我悬停导航填充路径后部分开始闪烁,但仅在internet explorer中,chrome工作正常。你知道哪里有问题吗?我设置-webkit-backface-visibility: hidden;backface-visibility:隐藏;

为代码中的每个-webkit添加-ms

  • -webkit(用于Webkit浏览器,Chrome和Safari)
  • - 0 (Opera)
  • -moz (Firefox)
  • -ms (for IE)

Upate:

删除display:block;后问题解决

对于我来说,将backface-visibility (css属性)设置为visible就可以了。

相关内容

  • 没有找到相关文章

最新更新