Ho un div all'interno di un altro div. #outer
e #inner
. #outer
ha bordi curvi e uno sfondo bianco. #inner
non ha bordi curvi e uno sfondo verde. #inner
si estende oltre i bordi curvi di #outer
. C'è comunque per fermare questo?Forzare il bambino ad obbedire ai bordi curvi del genitore nei 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>
Non importa come provo si sovrappone ancora. Come posso rendere #inner
obbedire e riempire ai bordi di #outer
?
modificare
Il seguente mod serviva allo scopo per ora. Ma la domanda è valida (forse per gli scrittori CSS3 e webbrowser): Perché gli elementi figlio non obbediscono ai bordi curvi dei loro genitori e c'è comunque una forza per forzarli?
L'hack per aggirare questo per i miei bisogni per ora, è possibile assegnare le curve ai singoli confini. Quindi, per i miei scopi, ho appena assegnato una curva ai primi due dell'elemento interno.
#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;
}
Hai provato a impostare esattamente la stesso raggio di confine all'elemento interno? –
Ma voglio che il raggio del bordo dell'elemento interno sia dritto sul fondo. È possibile impostare un raggio di confine solo per un certo angolo? –
Di sicuro. Puoi anche assegnarli come 'border-radius: TL TR BL BR'. –