我在另一个div内有一个div。 #outer
和#inner
。 #outer
具有弯曲的边框和白色背景。 #inner
没有弯曲的边框和绿色背景。 #inner
延伸到弧形边界之外#outer
。反正有阻止这个的吗?
#outer {
display: block; float: right; margin: 0; width: 200px;
background-color: white; overflow: hidden;
-moz-border-radius: 10px;
-khtml-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
#inner { background-color: #209400; height: 10px; border-top: none; }
<div id="outer">
<div id="inner"></div>
<!-- other stuff needs a white background -->
<!-- bottom corners needs a white background -->
</div>
无论我如何尝试,它仍然重叠。如何#inner
服从并填充#outer
的边界?
编辑
以下hack达到了目的。但是问题仍然存在(也许对CSS3和Webbrowser作家而言):为什么子元素不服从父元素的弯曲边界,反而有强迫它们的作用呢?
为了满足我现在的需要,您可以将曲线分配给各个边界。因此,出于我的目的,我只为内部元素的顶部两个分配了一条曲线。
#inner {
border-top-right-radius: 10px; -moz-border-radius-topright: 10px; -webkit-border-top-right-radius: 10px;
border-top-left-radius: 10px; -moz-border-radius-topleft: 10px; -webkit-border-top-left-radius: 10px;
}
border-radius: TL TR BL BR
。
-moz-border-radius
并且border-radius
可以用作具有四个值的简写:10px 10px 0 0
。但是对于Safari,您需要单独设置它们。