2013-03-13 64 views
0

我创建了一个小标题选项卡,悬停时有1秒的填充右移。我已经在Chrome,Opera,IE10和FF中测试过它,并且按预期工作。在Safari中奇怪的是它并没有完全实现转换。事实上,它也会将元素1px在悬停时向右移动。我还没有遇到过这样的具体情况,所以不确定它是我知道的错误还是疏忽。下面是代码:Safari中的转换填充错误?

HTML

<h2 class="screen-button about-button">About</h2>

CSS

.screen-button { 
    border-radius: 0 0 14px 14px; 
    float: left; 
    font-size: 2em; 
    margin: 0; 
    padding: .3em .5em .4em; 
    position: relative; 
    top: 0; 
    left: 0; 
    -webkit-transition: padding-right 1s ease-in-out; 
    -moz-transition: padding-right 1s ease-in-out; 
    -o-transition: padding-right 1s ease-in-out; 
    -ms-transition: padding-right 1s ease-in-out; 
    transition: padding-right 1s ease-in-out; 
} 

.screen-button:hover { 
    padding-right: 91%; 
} 

.about-button { 
    background: rgb(69,237,248); 
    background: rgba(69,237,248, .8); 
} 

这里是小提琴: http://jsfiddle.net/julsfelic/m429p/1/

回答

1

的问题是,要动画从em%并在Safari不起作用。尝试使用相同的单位设置正常和悬停状态的填充。至少填充右边(例如:padding: .3em 3% .4em)。

+0

没有注意到。这清除了它。谢谢! – 2013-03-14 04:05:09

+0

***爆炸***这就是解决方案。感谢Christian。这使得它真的很难,因为我试图从20px填充到20%填充,显然这是做不到的。必须使用20px到0px的包装,并使用0%到20%来解决此问题。 – 2013-05-08 04:42:26