Saya memiliki div di dalam div lain. #outer
dan #inner
. #outer
memiliki batas melengkung dan latar belakang putih. #inner
tidak memiliki batas melengkung dan latar belakang hijau. #inner
meluas melampaui batas melengkung #outer
. Apakah ada cara untuk menghentikan ini?
#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>
Tidak peduli bagaimana saya mencobanya masih tumpang tindih. Bagaimana saya bisa #inner
mematuhi dan memenuhi #outer
perbatasan?
sunting
Retas berikut melayani tujuan untuk saat ini. Tetapi pertanyaannya tetap (mungkin untuk penulis CSS3 dan webbrowser): Mengapa elemen anak tidak mematuhi batas lengkung orang tua mereka dan apakah ada cara untuk memaksa mereka melakukannya?
Retas untuk menyiasati ini untuk kebutuhan saya untuk saat ini, Anda dapat menetapkan kurva ke batas individu. Jadi untuk tujuan saya, saya baru saja menetapkan kurva ke dua bagian atas elemen dalam.
#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
danborder-radius
dapat digunakan sebagai singkatan dengan empat nilai:10px 10px 0 0
. Namun untuk Safari Anda harus mengaturnya secara individual.Jawaban:
Menurut spesifikasi:
http://www.w3.org/TR/css3-background/#the-border-radius
Ini berarti bahwa
overflow: hidden
on#outer
harus bekerja. Namun, ini tidak akan berfungsi untuk Firefox 3.6 dan di bawah. Ini diperbaiki di Firefox 4:https://developer.mozilla.org/en/CSS/-moz-border-radius
Jadi, Anda masih perlu memperbaikinya, persingkat menjadi:
Lihat berfungsi di sini: http://jsfiddle.net/VaTAZ/3/
sumber
overflow: hidden;
sedang mengerjakan versi FF saat ini. Pastikan Anda menguji kembali sejauh kebutuhan Anda.overflow hidden
disembunyikanApa yang salah dengan ini?
sumber
Jika Anda ingin tepi tajam di bagian bawah: Gunakan ini:
sumber
Sudahkah Anda mencoba membuat posisi: relatif untuk div bagian dalam ???
itu adalah:
sumber