Rumah >hujung hadapan web >tutorial css >Bagaimana Saya Boleh Menghalang Keratan Imej Latar Belakang dengan `saiz latar belakang: penutup` dan `lampiran latar belakang: tetap` dalam CSS?

Bagaimana Saya Boleh Menghalang Keratan Imej Latar Belakang dengan `saiz latar belakang: penutup` dan `lampiran latar belakang: tetap` dalam CSS?

Susan Sarandon
Susan Sarandonasal
2024-12-01 14:58:13887semak imbas

How Can I Prevent Background Image Clipping with `background-size: cover` and `background-attachment: fixed` in CSS?

Menggunting Imej Latar Belakang dengan CSS: Memahami Kulit Saiz Latar Belakang dan Lampiran Latar Belakang Ditetapkan

Apabila menggunakan imej latar belakang dalam senarai angka, menetapkan kedua-dua saiz latar belakang: penutup dan lampiran latar belakang: tetap boleh membawa kepada isu keratan apabila terdapat offset. Walaupun tingkah laku ini wujud dalam kedudukan tetap dalam CSS, kami akan meneroka penyelesaian CSS sahaja untuk mengurangkan isu ini.

Mekanik CSS:

Gabungan lampiran latar belakang: tetap dan latar belakang -saiz: penutup menyebabkan imej latar belakang berkelakuan sebagai imej "tetap" relatif port pandangan, dan nilai penutup dikira relatif kepada saiz port pandangan, bukan elemen. Ini menerangkan sebab imej dilindungi dengan betul apabila elemen memenuhi port pandangan tetapi dipangkas apabila lebih kecil.

Penyelesaian Cadangan:

Malangnya, penyelesaian CSS tulen tidak mungkin kerana kedudukan tetap tidak konsisten dengan tingkah laku penjajaran yang dikehendaki. Walau bagaimanapun, menggunakan pendengar acara JavaScript yang terikat pada acara tatal boleh mensimulasikan kedudukan tetap dan mengekalkan penjajaran yang diingini.

Secara khusus, kami akan mengikat pendengar acara tatal dan mengemas kini sifat kedudukan latar belakang secara manual berdasarkan tatal semasa kedudukan untuk mencapai kesan kedudukan tetap semasa masih mengira saiz latar belakang: penutup berbanding elemen bekas.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Menghalang Keratan Imej Latar Belakang dengan `saiz latar belakang: penutup` dan `lampiran latar belakang: tetap` dalam CSS?. 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