Saya perlu sudut bulat di div induk untuk menutupi konten dari masa kanak-kanaknya. overflow: hidden
berfungsi dalam situasi sederhana, tetapi istirahat di browser berbasis webkit dan Opera ketika orang tua diposisikan relatif atau mutlak.
Ini berfungsi di Firefox dan IE9:
CSS
#wrapper {
width: 300px;
height: 300px;
border-radius: 100px;
overflow: hidden;
position: absolute;
}
#box {
width: 300px;
height: 300px;
background-color: #cde;
}
HTML
<div id="wrapper">
<div id="box"></div>
</div>
Terima kasih untuk bantuannya!
PEMBARUAN: Bug yang menyebabkan masalah ini telah diperbaiki di Chrome. Saya belum menguji ulang Opera atau Safari.
sumber
Tambahkan z-indeks ke item berbatasan-jari Anda, dan itu akan menutupi hal-hal di dalamnya.
sumber
-webkit-mask-image: -webkit-radial-gradient(circle, white, black);
adalah solusi yang efektif, tetapi, untungnya, bug ini diperbaiki pada pembaruan terbaru yang saya terima ke Chrome.Bagaimanapun, saya berhasil menyelesaikan masalah dengan menambahkan div tambahan antara pembungkus dan kotak.
CSS
HTML
Terima kasih semuanya yang telah membantu!
→ http://jsfiddle.net/5fwjp/
sumber
opacity: 0,99; pada bungkus menyelesaikan bug webkit
sumber
transform: translateY(0);
adalah alternatif yang mencapai hasil yang sama tanpa mengganggu representasi visual objek (kecuali jika Anda menggunakan perspektif).Tampaknya ini bekerja:
http://jsfiddle.net/qWdf6/82/
sumber
transform: translateZ(0)
sudah cukup untukku.translateZ
) secara implisit akan memungkinkan akselerasi perangkat keras untuk elemen Anda, yang membuka kaleng baru cacing dalam beberapa kasus, sayangnya.transform: translateZ(0)
juga bekerja untuk saya. Dalam kasus saya itu bukan ide yang buruk bahwa item ini dipercepat perangkat keras.Didukung dalam chrome, opera dan safari terbaru, Anda dapat melakukan ini:
Anda pasti harus memeriksa alat http://bennettfeely.com/clippy/ !
sumber
Bukan jawaban, tetapi ini adalah bug yang diajukan di bawah sumber Chromium: http://code.google.com/p/chromium/issues/detail?id=62363
Sayangnya, sepertinya tidak ada orang yang mengerjakannya. :(
sumber
ubah opacity dari elemen induk dengan perbatasan dan ini akan mengatur ulang elemen yang ditumpuk. Ini bekerja secara ajaib bagi saya setelah jam penelitian dan upaya gagal. Itu sesederhana menambahkan opacity 0,99 untuk mengatur ulang proses pengecatan browser ini. Lihat http://philipwalton.com/articles/what-no-one-told-you-about-z-index/
sumber
Bagi saya tidak ada solusi yang bekerja dengan baik, hanya menggunakan:
pada elemen pembungkus melakukan pekerjaan.
Berikut ini contohnya: http://jsfiddle.net/gpawlik/qWdf6/74/
sumber
berdasarkan jawaban Graycrow yang sangat baik ...
Berikut adalah contoh dunia nyata yang memiliki dua div cicular dengan beberapa konten pengisi. Saya mengganti latar belakang png hard-coded hanya dengan nilai hex, yaitu
diganti dengan
Lihat JSFiddle ini ... http://jsfiddle.net/hqLkA/
sumber
Di sini, lihat bagaimana saya melakukannya; Jsfiddle
Dengan Kode yang saya masukkan, saya berhasil membuatnya bekerja di Webkit (Chrome / Safari) dan Firefox.
Saya tidak tahu apakah itu berfungsi dengan Opera versi terbaru.Ya itu berfungsi di bawah versi terbaru Opera.sumber
border-radius
pembungkus sama sekali dalam situasi itu, Anda mendapatkan hasil yang sama hanya dengan menyalakannya#box
. Juga, jika#box
radius perbatasan hanya untuk memperbaiki WebKit, Anda cukup memasukkan-webkit-
properti di sana.Saya mencoba setiap jawaban tetapi tidak berhasil. Setelah beberapa jam menyelidiki saya menemukan solusi untuk masalah ini. Menggunakan properti ini di kelas Anda tidak akan memungkinkan elemen div meluap wadah.
sumber
Jika Anda mencari untuk membuat topeng untuk gambar dan posisi gambar di dalam wadah tidak mengatur atribut 'position: absolute'. Yang harus Anda lakukan adalah mengubah margin-kiri dan margin-kanan. Chrome / Opera akan mematuhi aturan overflow: tersembunyi dan radius batas.
sumber