J'ai un div à l'intérieur d'un autre div. #outeret #inner. #outera des bordures courbes et un fond blanc. #innern'a pas de bordures courbes et un fond vert. #inners'étend au-delà des frontières courbes de #outer. Y a-t-il un moyen d'arrêter cela?
#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>
Peu importe comment j'essaye, cela se chevauche toujours. Comment puis-je faire #innerobéir et remplir #outerles frontières de?
Éditer
Le hack suivant a servi le but pour le moment. Mais la question se pose (peut-être aux rédacteurs de CSS3 et du navigateur Web): pourquoi les éléments enfants n'obéissent-ils pas aux bordures courbes de leurs parents et y a-t-il de toute façon pour les forcer?
Le hack pour contourner cela pour mes besoins pour l'instant, vous pouvez attribuer des courbes à des bordures individuelles. Donc, pour mes besoins, je viens d'attribuer une courbe aux deux premiers de l'élément intérieur.
#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-radiuset border-radiuspeut être utilisé comme un raccourci avec quatre valeurs: 10px 10px 0 0. Cependant, pour Safari, vous devez les définir individuellement.