Baru -baru ini, semasa bekerja pada projek klien, saya memerlukan kesan visual khusus untuk imej. Imej latar belakang, menggunakan background-attachment: fixed;
, dengan mudah mencapai kesan menatal tetap ini -imej tetap bergerak walaupun sebagai skrol halaman. Kesan ini, walaupun tidak sering digunakan, boleh menjadi sangat menarik, terutamanya apabila digunakan secara halus.
Jadual Kandungan
- Kenapa gunakan
<img alt="Mencari kesan latar belakang tetap dengan imej sebaris" >
Bukanbackground-image
? - Menggunakan
background-image
CSS - Trik
clip-path
untuk imej sebaris - Pendekatan yang lebih baik?
Pada mulanya, saya berhasrat untuk meniru kesan tetap ini menggunakan imej sebaris (<img alt="Mencari kesan latar belakang tetap dengan imej sebaris" >
) bukannya imej latar belakang CSS. Demonstrasi kesan yang diingini boleh didapati di sini . Kod untuk demo ini berada dalam repositori git ini (nota: ini adalah projek next.js). Contoh codepen mudah dengan HTML mentah akan mengikuti.
Kenapa gunakan<img alt="Mencari kesan latar belakang tetap dengan imej sebaris" >
Bukan background-image
?
Beberapa sebab memotivasi keutamaan saya untuk<img alt="Mencari kesan latar belakang tetap dengan imej sebaris" >
Tag:
- Memuatkan malas yang lebih mudah.
- SEO yang lebih baik dan aksesibiliti melalui teks
alt
. - Prestasi pemuatan yang dioptimumkan menggunakan
srcset
/sizes
. - Pemilihan imej yang dioptimumkan penyemak imbas melalui
<picture></picture>
tag. - Penjimatan imej langsung untuk pengguna (tanpa DevTools).
Menggunakan<img alt="Mencari kesan latar belakang tetap dengan imej sebaris" >
Tag biasanya lebih baik apabila imej dianggap kandungan dan bukannya hiasan semata -mata. Penyelesaian saya melibatkan harta CSS clip-path
. Mari kita bandingkan ini dengan kaedah background-image
.
1. Menggunakan background-image
CSS
Pendekatan tradisional menggunakan background-image
:
.hero-seksyen { imej latar belakang: url ("nice_bg_image.jpg"); Latar Belakang berulang: tidak berulang; Latar Belakang: Cover; Latar Belakang: Pusat; Latar Belakang-Attachment: Tetap; }
Walau bagaimanapun, kaedah ini mempunyai batasan. Imej tidak dianggap sebagai kandungan, memberi kesan kepada kebolehcapaian (pembaca skrin). Ia juga berfungsi secara optimum apabila imej mengisi atau berpusat di dalam viewport. Imej luar pusat memerlukan pertanyaan media untuk kedudukan yang betul di seluruh peranti yang berbeza.
2. Menggunakan helah clip-path
pada imej sebaris
Penyelesaian limpahan timbunan menggunakan clip-path
menyediakan alternatif:
.Image-Container { Kedudukan: Relatif; Ketinggian: 200px; Clip-Path: Inset (0); } .Image { Objek-Fit: Cover; Kedudukan: Tetap; Kiri: 0; Atas: 0; Lebar: 100%; Ketinggian: 100%; }
Pendekatan ini mengekalkan<img alt="Mencari kesan latar belakang tetap dengan imej sebaris" >
kelebihan tag. Walau bagaimanapun, ia kurang ringkas dan clip-path
memberikan cabaran. Sebagai contoh, gaya mudah seperti border-radius
memerlukan pengubahsuaian ke clip-path
itu sendiri. Kedudukan imej yang tepat dalam clip-path
juga boleh menjadi kompleks.
Pendekatan yang lebih baik?
Pada akhirnya, saya kembali menggunakan background-image
CSS, mengakui batasannya. Adakah sesiapa berjaya melaksanakan kesan menatal tetap ini dengan imej sebaris dengan cara yang lebih elegan? Saya menghargai mendengar penyelesaian anda!
Atas ialah kandungan terperinci Mencari kesan latar belakang tetap dengan imej sebaris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

AutoPrefixer adalah alat yang secara automatik menambah awalan vendor ke atribut CSS berdasarkan skop penyemak imbas sasaran. 1. Ia menyelesaikan masalah mengekalkan awalan secara manual dengan kesilapan; 2. Bekerja melalui borang pemalam postcss, menghuraikan CSS, menganalisis atribut yang perlu diawali, dan menjana kod mengikut konfigurasi; 3. Langkah-langkah penggunaan termasuk memasang pemalam, menetapkan senarai pelayar, dan membolehkan mereka dalam proses membina; 4. Nota termasuk tidak menambah awalan secara manual, menyimpan kemas kini konfigurasi, awalan tidak semua atribut, dan disyorkan untuk menggunakannya dengan preprocessor.

TOCREATESTICKYHEADERSANDFOOTERSWITHCSS, USEPOSISI: STICKYFORHEADERSWITHOPVARUEANDZ-INDEX, MemastikanParentContainersdon'Trestrictit.1.ForstickyHeaders: SetPosition: Sticky, atas: 0, Z-index, dan BEBERKOORSICHISTORS.2.FORTOORSTICE: FORBORTORSIS.2.FORTORSICHORORS.

Terdapat tiga cara untuk membuat pemutar pemuatan CSS: 1. Gunakan pemutar asas sempadan untuk mencapai animasi mudah melalui HTML dan CSS; 2. Gunakan pemutar tersuai pelbagai mata untuk mencapai kesan lompat melalui masa kelewatan yang berlainan; 3. Tambahkan pemutar dalam butang dan beralih kelas melalui JavaScript untuk memaparkan status pemuatan. Setiap pendekatan menekankan pentingnya butiran reka bentuk seperti warna, saiz, kebolehcapaian dan pengoptimuman prestasi untuk meningkatkan pengalaman pengguna.

Mudah alih-firstcssdesignrequiressettingtheViewportmetatag, menggunakan pelindung, stylingfromsmallscreensup, optimizingtypographyandtouchtargets.first, addtocontrolscaling.second, use%, eM, orreminsteadofpixelflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflexflex

Untuk membuat susun atur grid responsif intrinsik, kaedah teras adalah menggunakan mod berulang CSSGRID (auto-fit, minmax ()); 1. Tetapkan grid-templat-lajur: ulangi (auto-fit, Minmax (200px, 1FR)) untuk membiarkan penyemak imbas secara automatik menyesuaikan bilangan lajur dan menghadkan lebar minimum dan maksimum setiap lajur; 2. Gunakan jurang untuk mengawal jarak grid; 3. Bekas hendaklah ditetapkan kepada unit relatif seperti lebar: 100%, dan gunakan kotak saiz: kotak sempadan untuk mengelakkan kesilapan pengiraan lebar dan memusatkannya dengan margin: auto; 4. Secara pilihan menetapkan ketinggian baris dan penjajaran kandungan untuk meningkatkan konsistensi visual, seperti baris

Untuk menjadikan keseluruhan susun atur grid berpusat di viewport, ia dapat dicapai dengan kaedah berikut: 1. Gunakan margin: 0Auto untuk mencapai pusat mendatar, dan bekas perlu ditetapkan untuk menetapkan lebar tetap, yang sesuai untuk susun atur tetap; 2. Gunakan Flexbox untuk menetapkan sifat-sifat yang wajar dan menyelaraskan-item di dalam bekas luar, dan menggabungkan min yang tinggi: 100VH untuk mencapai pusat menegak dan mendatar, yang sesuai untuk senario paparan skrin penuh; 3. Gunakan harta benda-item tempat CSSGRID untuk cepat berpusat pada bekas induk, yang mudah dan mempunyai sokongan yang baik dari pelayar moden, dan pada masa yang sama, adalah perlu untuk memastikan bahawa bekas induk mempunyai ketinggian yang mencukupi. Setiap kaedah mempunyai senario dan sekatan yang berkenaan, hanya pilih penyelesaian yang sesuai mengikut keperluan sebenar.

Featuredetectionincsusing@supportschecksifabrowsersupportsaspecificfeatureBeforeapplyingrelatedStyles.1.itusesconditionalcssblocksbasedonproperty-nilai, suchas@supports (paparan: grid)

Untuk menangani keserasian pelayar CSS dan isu awalan, anda perlu memahami perbezaan sokongan penyemak imbas dan menggunakan awalan vendor dengan munasabah. 1. Memahami masalah biasa seperti Flexbox dan sokongan grid, kedudukan: prestasi tidak sah, dan prestasi animasi adalah berbeza; 2. Periksa status sokongan ciri CANIUSE Ciri; 3. Gunakan dengan betul -webkit-, -moz-, -ms-, -o- dan awalan pengeluar lain; 4. Adalah disyorkan untuk menggunakan autoprefixer untuk menambah awalan secara automatik; 5. Pasang postcss dan konfigurasi penyemak imbas untuk menentukan penyemak imbas sasaran; 6. Secara automatik mengendalikan keserasian semasa pembinaan; 7. Ciri -ciri pengesanan moden boleh digunakan untuk projek lama; 8. Tidak perlu meneruskan konsistensi semua pelayar,
