Rumah >hujung hadapan web >tutorial css >Mengapa CSS3 `border-radius` Melimpah dalam Chrome/Opera, dan Bagaimana Ia Boleh Dibetulkan?

Mengapa CSS3 `border-radius` Melimpah dalam Chrome/Opera, dan Bagaimana Ia Boleh Dibetulkan?

Susan Sarandon
Susan Sarandonasal
2024-12-26 17:17:13515semak imbas

Why Does CSS3 `border-radius` Overflow in Chrome/Opera, and How Can It Be Fixed?

Cara Menyelesaikan Isu Limpahan dengan Sudut Bulat CSS3 dalam Chrome/Opera

Dalam situasi tertentu, menggunakan sifat jejari sempadan CSS3 untuk mencipta bulat sudut pada div induk boleh mengakibatkan limpahan kandungan dalam penyemak imbas Chrome dan Opera. Isu ini timbul apabila ibu bapa diletakkan secara relatif atau mutlak.

Pendekatan Asal

Kod berikut menunjukkan masalah dalam Chrome/Opera:

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

#box {
  width: 300px;
  height: 300px;
  background-color: #cde;
}

Pendekatan ini, yang berfungsi dalam Firefox dan IE9, gagal menutup kandungan yang melimpah dalam Chrome/Opera.

Penyelesaian Yang Diperbaiki

Penyelesaian melibatkan penambahan WebKit CSS Mask pada elemen #wrapper:

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

Pendekatan ini menggunakan imej PNG piksel tunggal untuk menentukan topeng CSS yang menutup kandungan yang melimpah. Ia berkesan menyelesaikan isu limpahan dalam Chrome/Opera, mengekalkan sudut bulat.

Atas ialah kandungan terperinci Mengapa CSS3 `border-radius` Melimpah dalam Chrome/Opera, dan Bagaimana Ia Boleh Dibetulkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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