【问题标题】:transition padding bug in Safari?Safari中的过渡填充错误?
【发布时间】:2013-02-28 19:27:11
【问题描述】:

我创建了一个小标题选项卡,在悬停时它的填充向右过渡超过 1 秒。我已经在 Chrome、Opera、IE10 和 FF 中对其进行了测试,它按预期工作。奇怪的是,在 Safari 中它根本没有接受过渡。实际上,它还会在悬停时将元素向右移动 1px。我没有遇到任何这样的具体案例,所以不确定它是已知的错误还是我的疏忽。代码如下:

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/

【问题讨论】:

    标签: css css-transitions safari


    【解决方案1】:

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

    【讨论】:

    • Blast 这就是解决方案。谢谢克里斯蒂安。但这确实很难,因为我试图从 20px 填充到 20% 填充,这显然是做不到的。必须使用 20px 到 0px 和 0% 到 20% 的环绕来解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 2022-01-07
    • 2016-03-12
    • 1970-01-01
    相关资源
    最近更新 更多