CSS3 渐变和边框半径导致 webkit 中的无关背景

标签 css webkit

在我的 1st question 之后关于 CSS3 渐变,我在其中重新创建了一个“内发光”,我现在已经到了我对 webkit 呈现效果的方式不太满意的地步。

基本上,如果你给一个元素一个背景颜色并为其应用一个边框半径,webkit 会让背景颜色“渗出”以填充周围的框(让它看起来有点糟糕)

要重现不良效果,请尝试以下操作

section#featured footer p a
{
    color: rgb(255,255,255);
    text-shadow: 1px 1px 1px rgba(0,0,0,0.6);
    text-decoration: none;
    padding: 5px 10px;
    border-radius: 15px;
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    background: rgb(98,99,100);
    -moz-box-shadow: inset 0 0 8px rgba(0,0,0, 0.25);
    -webkit-box-shadow: inset 0 0 8px rgba(0,0,0, 0.25);
}

显然这似乎是一个仅限 Windows 的问题,所以对于那些使用 Mac 的用户,这里有一个屏幕截图:(选中“继续阅读”按钮) Ugly Button
(来源:friendlygp.com)

您会注意到,在 Safari/Chrome(据我所知,最新的公开下载以及最新的夜间更新)中,您会看到相当难看的背景色渗色。但是,在 Firefox 中,您应该能够看到我所追求的。如果您使用的是 Internet Explorer,那就麻烦了。

有谁知道可以让我产生“正确”效果的技术?是否有一个我错过的 CSS 属性告诉 webkit 仅在包含框的 border-radius 部分内具有背景。

我可能会使用图像,但我确实在努力避免使用它。自然地,当我们处理 CSS3 并且环境不断变化时,我可能只需要将它“合并”并恢复为图像。

但是,如果有人能提出替代方案,我将不胜感激!

最佳答案

终于,在很长一段时间后,比我聪明得多的人找到了解决这个问题的方法:

-moz-background-clip: padding;     /* Firefox 3.6 */
-webkit-background-clip: padding;  /* Safari 4? Chrome 6? */
background-clip: padding-box;      /* Firefox 4, Safari 5, Opera 10, IE 9 */

是你的 friend :)

发件人:http://tumble.sneak.co.nz/post/928998513/fixing-the-background-bleed

关于CSS3 渐变和边框半径导致 webkit 中的无关背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2624451/

相关文章:

javascript - 创建可点击的进度条

javascript - 高度为 100% 的主体,背景图像为 : cover to fill enire page not just a viewport - without js if possible

html - 正确的 CSS 样式嵌套元素

ios - 任何可能的方法来处理 WKWebView 和浏览器之间的操作以在 iOS 中选择图像?

html - CSS:是什么导致了这种奇怪的排列?

html - File 对象中 webkitRelativePath 属性的用途是什么?

css - 图像的媒体查询以在桌面和移动设备上工作

javascript - 通过 jquery 从附加的 div 传递函数值

javascript - 将内容放在按钮下方

python gtk webkit 显示本地html数据