google-chrome - Chrome 不支持 child 的边框半径

标签 google-chrome webkit css

我在让 Chrome 支持子元素的边框半径时遇到了一些麻烦。

这是设置:

<div class='wrapper'>
    <img id='sosumi' src='http://images.apple.com/safari/images/overview_hero.jpg' />
</div>

如果包装器是一个定位元素(例如 position: relative)并且有一个 border-radius,那么 border radius 将不会应用于 img 内容。

它也不一定是图像。任何填充背景的内容。

这是一个展示问题的简化示例页面。在 Safari、Mobile Safari、Firefox 或 IE 中查看,图像的 Angular 将被剪裁成圆 Angular 。在 Chrome 中查看图像溢出 Angular 落(尽管溢出:隐藏的 css)并且看起来很丑。

看看: https://dl.dropbox.com/u/433436/no-rounding/index.html

问题: 有没有一些不太疯狂的解决方法?有谁知道为什么这会影响一个基于 WebKit 的浏览器而不影响其他浏览器?也许这很快就会在 Chrome 中更新?

最佳答案

您需要删除position: relative

如果您的真的需要相对位置,那么您可以对元素进行双重包装:

HTML:

<div class="outer">
    <div class="wrapper">
        <div class="inside">
        </div>
    </div>
</div>

CSS:

.outer {
    position: relative;
}
.wrapper {
    width: 100px;
    height: 100px;
    overflow: hidden;
    border: 3px solid red;
    border-radius: 20px;
}
.inside {
    width: 100px;
    height: 100px;
    background-color: #333;
}

http://jsfiddle.net/eprRj/

查看这些相关问题:

关于google-chrome - Chrome 不支持 child 的边框半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12504198/

相关文章:

google-chrome - Chrome websocket连接延迟

javascript - 如何调试 Chrome Javascript 中 GC 事件之间看似长时间的停顿

css - 为什么是:hover is so slow in webkit browsers over large numbers of DOM elements

jquery - Tag-it 自动完成 : Make li. tagit-new 覆盖 ul.tagit 的其余部分

css背景图像似乎没有在链接旁边创建图标

javascript - 如何将事件监听器添加到 chrome 扩展内容脚本中的 google 表格链接?

android - Google Chrome 开发者工具 : Android Debugging returns HTTP/1. 1 404 未找到。为什么?

css - Opentype 具有跨浏览器兼容性

html - iOS 上的模糊文本渲染

php - 表达式引擎和 CSS