Tôi có một div bên trong của một div khác. #outervà #inner. #outercó viền cong và nền trắng. #innerkhông có đường viền cong và nền màu xanh lá cây. #innermở 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ể #innertuân theo và điền vào #outerbiê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-radiusvà border-radiuscó 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.