【问题标题】:Safari: background-clip and border-radius don't work well togetherSafari:背景剪辑和边框半径不能很好地协同工作
【发布时间】:2013-06-10 21:14:37
【问题描述】:

Fiddle

小提琴中的 div.button 在 Chrome/FF 中看起来像预期的那样,但 background-clipborder-radius 在 Safari 中效果不佳。

代码有问题还是 Safari 的行为方式有问题?

CSS

div.button {
    width: 100px; height: 100px;
    padding: 8px;

    border-radius: 100px;
    box-shadow: 0 0.8px 8px rgba(0,0,0,.3);
    background-image: -webkit-radial-gradient(center center, circle, #8CE2FB, #52D2F8);
    background-image:    -moz-radial-gradient(center center, circle, #8CE2FB, #52D2F8);
    background-image:     -ms-radial-gradient(center center, circle, #8CE2FB, #52D2F8);
    background-image:      -o-radial-gradient(center center, circle, #8CE2FB, #52D2F8);
    background-image:         radial-gradient(center center, circle, #8CE2FB, #52D2F8);
    -webkit-background-clip: content-box;
    -moz-background-clip: content-box;
    background-clip: content-box;
}

HTML

<div class="button"></div>

【问题讨论】:

    标签: css safari cross-browser


    【解决方案1】:

    您可能需要为渐变指定特定的大小值。 http://dabblet.com/gist/5748608(前缀不是写的而是通过js添加的)

    div.button {
       width: 100px; height: 100px;
       padding: 8px;
       border-radius: 100px;
       box-shadow: 0 0.8px 8px rgba(0,0,0,.3);
       background-image: radial-gradient(center,  #8CE2FB 0, #52D2F8  52px, white 52px , white );/* oldest, includes your safari ? */
       background-image: radial-gradient(circle at center,  #8CE2FB 0, #52D2F8  52px, white 52px , white ); /* newest */
    }
    .bshad {/* box- shadow */
        width: 100px; height: 100px;
        padding: 8px;
        border-radius: 100px;
        box-shadow: 0 0.8px 8px rgba(0,0,0,.3), inset 0 0 1px 8px white, inset 0 0 0 200px #52D2F8 ;
    }
    

    Box-shadow 效果更好。

    【讨论】:

    • 您的代码是正确的,但它不适合 safari 的能力。所以,没有太多选择来适应你的 CSS ,所以它理解你想要什么,恕我直言。例如:IE9 不理解渐变,但是得到了 box-shadow。如果您的渐变变成真实图像,请放入背景并隐藏带有边框或嵌入阴影的侧面。 :) 妥协的事情
    • 那只是运气不好。我希望有一天每个浏览器都能按预期运行,尤其是 Safari/Explorer。感谢您的帮助:)
    • 他们应该有朝一日,过去几年改善了很多
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 2013-10-06
    • 2016-12-08
    • 2020-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多