У мене є інший дів. #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;
}
border-radius: TL TR BL BR
.
-moz-border-radius
і border-radius
може бути використано в якості короткого позначення з чотирма значеннями: 10px 10px 0 0
. Для Safari, однак, вам потрібно встановити їх індивідуально.