Tôi có một div bên trong div khác. #outer
và #inner
. #outer
có đường viền cong và nền trắng. #inner
không có đường viền cong và nền màu xanh lục. #inner
mở rộng ra ngoài đường viền cong của #outer
. Có cách nào để ngăn chặn điều này?Buộc trẻ tuân theo đường viền cong của cha mẹ trong CSS
#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>
Không có vấn đề làm thế nào tôi thử nó vẫn chồng chéo. Làm cách nào để tôi có thể thực hiện #inner
tuân theo và điền vào biên giới của #outer
?
chỉnh sửa
Các hack sau phục vụ mục đích cho bây giờ. Nhưng câu hỏi là viết tắt (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 các đường viền cong của bố mẹ chúng và có bắt buộc chúng phải không?
Bẻ khóa để giải quyết vấn đề này cho nhu cầu của tôi, bạn có thể chỉ định đường cong cho từng đường viền riêng lẻ. Vì vậy, với mục đích của tôi, tôi chỉ cần gán một đường cong cho hai phần trên cùng của 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;
}
Các bạn đã cố gắng để thiết lập chính xác cùng bán kính đường viền cho phần tử bên trong? –
Nhưng tôi muốn bán kính biên của phần tử bên trong nằm thẳng ở phía dưới. Có thể đặt bán kính đường viền chỉ cho một góc nhất định không? –
Để chắc chắn. Bạn thậm chí có thể gán chúng như 'border-radius: TL TR BL BR'. –