ฉันมี 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
พรมแดนได้อย่างไร?
แก้ไข
แฮ็คต่อไปนี้มีจุดประสงค์ในตอนนี้ แต่คำถามนั้นหมายถึง (อาจใช้กับ CSS3 และผู้เขียนเว็บเบราว์เซอร์): ทำไมองค์ประกอบลูกไม่เชื่อฟังเส้นขอบโค้งของผู้ปกครองและมีการบังคับให้พวกเขาทำต่อไปหรือไม่?
แฮ็คเพื่อแก้ไขปัญหานี้ตามความต้องการของฉันในตอนนี้คุณสามารถกำหนดเส้นโค้งให้กับเส้นขอบแต่ละเส้นได้ ดังนั้นสำหรับจุดประสงค์ของฉันฉันแค่กำหนดเส้นโค้งให้กับสองอันดับแรกขององค์ประกอบภายใน
#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;
}