Rumah > hujung hadapan web > tutorial css > Mengapa Sudut Bulat dengan `overflow: hidden` Gagal dalam WebKit dan Opera, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Sudut Bulat dengan `overflow: hidden` Gagal dalam WebKit dan Opera, dan Bagaimana Saya Boleh Membetulkannya?

Patricia Arquette
Lepaskan: 2024-12-19 04:54:09
asal
313 orang telah melayarinya

Why Do Rounded Corners with `overflow: hidden` Fail in WebKit and Opera, and How Can I Fix It?

Mengatasi Isu Tersembunyi Limpahan dengan Sudut Bulat CSS3 dalam WebKit dan Opera

Memastikan kandungan di bawah bucu bulat selalunya melibatkan penggunaan limpahan: sifat tersembunyi. Walau bagaimanapun, teknik ini boleh tidak berfungsi dalam penyemak imbas berasaskan WebKit (termasuk Chrome) dan Opera apabila elemen induk diletakkan secara relatif atau mutlak.

Masalah:

Untuk menggambarkan isu, pertimbangkan kod berikut:

#wrapper {
  width: 300px;
  height: 300px;
  border-radius: 100px;
  overflow: hidden;
  position: absolute;
}

#box {
  width: 300px;
  height: 300px;
  background-color: #cde;
}
Salin selepas log masuk

Dalam kes ini, div #wrapper diletakkan secara mutlak dan mempunyai bucu bulat. Walau bagaimanapun, kandungan #box div tumpah di luar sudut bulat dalam penyemak imbas dan Opera berasaskan WebKit.

Penyelesaian: WebKit CSS Mask

Penyelesaian alternatif untuk menangani isu ini ialah menggunakan WebKit CSS Mask pada elemen #wrapper. Ini melibatkan penggunaan imej PNG piksel tunggal sebagai topeng:

#wrapper {
  width: 300px;
  height: 300px;
  border-radius: 100px;
  overflow: hidden;
  position: absolute;
  /* This fixes the overflow in Chrome/Opera */
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
}
Salin selepas log masuk

Teknik ini berjaya menyembunyikan limpahan dalam penyemak imbas dan Opera berasaskan WebKit, membolehkan sudut bulat menutup kandungan elemen kanak-kanak dengan berkesan.

Atas ialah kandungan terperinci Mengapa Sudut Bulat dengan `overflow: hidden` Gagal dalam WebKit dan Opera, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan