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
211 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!

sumber:php.cn
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