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

CSS Blok halaman yang diberikan kerana pelayar melihat CSS dalam talian dan luaran sebagai sumber utama secara lalai, terutamanya dengan stylesheet yang diimport, header sejumlah besar CSS sebaris, dan gaya pertanyaan media yang tidak dapat dioptimumkan. 1. Ekstrak CSS kritikal dan membenamkannya ke HTML; 2. Kelewatan memuatkan CSS bukan kritikal melalui JavaScript; 3. Gunakan atribut media untuk mengoptimumkan pemuatan seperti gaya cetak; 4. Memampatkan dan menggabungkan CSS untuk mengurangkan permintaan. Adalah disyorkan untuk menggunakan alat untuk mengekstrak CSS utama, menggabungkan REL = "Preload" pemuatan asynchronous, dan menggunakan media yang ditangguhkan dengan munasabah untuk mengelakkan pemisahan yang berlebihan dan kawalan skrip kompleks.

Thebestapproachforcssdependonstantheproject'ssspecificneeds.forlargerprojects, externalcssisbetterduetomaintainabilityability;

Tidak, cssdoesnothavetobeinlowercase.however, menggunakanLowerCaseisRecommendorfendfor: 1) Consistencyandreadability, 2) Mengelakkaningerrorsinrelatedtechnologies, 3) potensiformanceBenefits, dan4) peningkatan yang lebih baik.

Cssismostlycase-insensitive, buturlsandfontfamilynamesarecase-sensitif.1) propertiesandvalueslikecolor: merah; arenotcase-sensitif.2) urlsmustmatchtheserver'scase, mis.,

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.

Csscounterscanautomaticallynumbersectionsandlists.1) useCounter-resettoinitialize, counter-incrementToinCrease, andCounter () orcounters () todisplayvalues.2) CombinWithjavascriptfordynamicContentToenSureAccurateupdates.

Dalam CSS, nama pemilih dan atribut adalah sensitif kes, manakala nilai, warna yang dinamakan, URL, dan atribut tersuai adalah sensitif kes. 1. Nama pemilih dan atribut adalah kes-tidak sensitif, seperti warna latar belakang dan warna latar belakang adalah sama. 2. Warna heksadesimal dalam nilai adalah sensitif kes, tetapi warna bernama adalah sensitif kes, seperti merah dan merah tidak sah. 3. URL adalah sensitif kes dan boleh menyebabkan masalah pemuatan fail. 4. Sifat tersuai (pembolehubah) adalah sensitif kes, dan anda perlu memberi perhatian kepada konsistensi kes apabila menggunakannya.

Cssselectorsandpropertynamesarecase-insensitive, whilevaluescanbecase-sensitivedependingoncontext.1) selectorslike'div'and'div'areequivalent.2) propertiesuchas'background-color'and'and'aretaretreatheatthlegase.3)
