Başka bir divin içinde bir div var. #outerve #inner. #outerkıvrımlı kenarlıklar ve beyaz bir arka plan var. #innerkavisli kenarlıkları ve yeşil bir arka planı yoktur. #innerkavisli sınırlarının ötesine uzanır #outer. Bunu durdurmanın bir yolu var mı?
#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>
Nasıl denersem deneyim hala örtüşüyor. Sınırlarına nasıl #inneritaat edip doldurabilirim #outer?
Düzenle
Aşağıdaki hack şimdilik bu amaca hizmet etti. Ama soru duruyor (belki CSS3 ve webbrowser yazarları için): Alt öğeler neden ebeveynlerinin kavisli sınırlarına uymuyor ve onları zorlamak için yine de var mı?
Şimdilik benim ihtiyaçlarım için bu sorunu çözmek için, bireysel sınırlara eğriler atayabilirsiniz. Bu yüzden amacım için, iç elemanın ilk ikisine bir eğri verdim.
#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-radiusve border-radiusdört değerlere sahip bir kısaltma olarak kullanılabilir: 10px 10px 0 0. Ancak Safari için bunları ayrı ayrı ayarlamanız gerekir.