Tôi có một div bên trong của một div khác. #outer
và #inner
. #outer
có viền cong và nền trắng. #inner
không có đường viền cong và nền màu xanh lá cây. #inner
mở rộng ra ngoài biên giới cong của #outer
. Có cách nào để ngăn chặn điều này?
#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>
Dù tôi có cố gắng thế nào thì nó vẫn chồng chéo. Làm thế nào tôi có thể #inner
tuân theo và điền vào #outer
biên giới?
biên tập
Các hack sau đây phục vụ mục đích cho bây giờ. Nhưng câu hỏi đặt ra (có thể cho các nhà văn CSS3 và webbrowser): Tại sao các phần tử con không tuân theo đường viền cong của cha mẹ chúng và có cách nào để buộc chúng không?
Việc hack để giải quyết vấn đề này cho nhu cầu của tôi bây giờ, bạn có thể gán đường cong cho các đường viền riêng lẻ. Vì vậy, với mục đích của mình, tôi chỉ gán một đường cong cho hai phần tử bên trong.
#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
và border-radius
có thể được sử dụng làm tốc ký với bốn giá trị : 10px 10px 0 0
. Đối với Safari tuy nhiên bạn cần đặt riêng chúng.