html - 带圆 Angular 的内容边界

标签 html css firefox rounded-corners

我正在为 firefox 使用 CSS 圆 Angular ,但我在内容边界方面遇到以下问题:

代码

<html>
<head>
   <style>
      #outter {
            width: 200px;
            margin: auto;
            text-align: center;
            border: 1px solid #333;
            -moz-border-radius: 15px;
        }
        #inner {
            background: red;
            opacity: 0.5;
        }
    </style>
</head>
<body>
<div id="outter">
    <div id="inner">text</div>
</div>
</body>
</html>

效果

alt text http://img256.imageshack.us/img256/2108/testew.png

我可以通过为每个 outter 的 child 定义 -moz-border-radius 来避免这个问题。还有其他我想念的方法吗?

编辑

使用多个内部 div 进行更难的测试,每个 div 具有不同的 background-color:

<div id="outter">
    <div id="inner1" style="background: blue">text</div>
    <div id="inner2" style="background: gray">text</div>
    ...
    <div id="innerN" style="background: yellow">text</div>
</div>

最佳答案

你也可以这样做:

  #outter {
        width: 200px;
        margin: auto;
        text-align: center;
        border: 1px solid #333;
        -moz-border-radius: 15px;
        background: red;
    }
    #inner {
        opacity: 0.5;
    }

将背景移动到圆 Angular 父级将正确呈现,请参见此处的示例:http://jsfiddle.net/mE8En/ (仅适用于 firefox!)如果你想支持其他的,请添加 webkit 边框半径 webkit based browsers同样,像这样:

-moz-border-radius: 15px; 
-webkit-border-radius: 15px;

编辑更新:要处理 firefox 中的内部 div,减去内部 div 上的像素以补偿边框,结果如下:

#outter {
    width: 200px;
    margin: auto;
    text-align: center;
    border: 1px solid #333;
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    background: red;
}
#outter > div:first-child {
    -moz-border-radius-topleft: 14px;
    -moz-border-radius-topright: 14px;
     -webkit-border-top-left-radius: 14px;
     -webkit-border-top-right-radius: 14px;
}
#outter > div:last-child {
    -moz-border-radius-bottomleft: 14px;
    -moz-border-radius-bottomright: 14px;
     -webkit-border-bottom-left-radius: 14px;
     -webkit-border-bottom-right-radius: 14px;
}
#inner {
    opacity: 0.5;
}
​

注意:webkit 中内部 div 的半径并不完美,请根据需要进行调整...这是因为浏览器之间的渲染像素不完美。

关于html - 带圆 Angular 的内容边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621553/

相关文章:

javascript - html 表单选择标签

javascript - 当其他功能运行时单击按钮触发

jquery - 使用 jQuery 在悬停时淡出 sibling

JavaFX 更改选项卡中文本的字体颜色

html - Chrome 中 iFrame 的溢出滚动问题

ajax - firefox中的跨域ajax

html - CSS 单元格没有跨越整个表格宽度的空格

javascript - 从下拉列表中选择多个项目以填充在页面上

css - 谷歌字体 : Define custom name in CSS

javascript - Firefox 扩展中的关闭事件