Rumah >hujung hadapan web >tutorial css >Penggantian Imej CSS: inden teks, margin negatif dan banyak lagi
Penggantian Imej CSS: Panduan Komprehensif untuk Teknik Moden
Penggantian imej CSS, teknik yang digunakan untuk menukar teks dengan imej, menawarkan sejarah yang kaya. Walaupun banyak kaedah tetap berfungsi, sesetengah mungkin menghadapi penalti Google atas alasan SEO. Panduan ini memberikan gambaran keseluruhan teknik yang sedia ada, mengakui kelemahan potensi mereka dan mencadangkan bila mempertimbangkan alternatif.
Pertimbangan utama:
(kaedah phark): Kaedah yang digunakan secara meluas ini menyembunyikan teks dengan menggunakan negatif yang besar text-indent
.
text-indent
<code class="language-css">.replace-indent { width: 264px; height: 106px; background: url("assets/logo.png"); text-indent: -9999px; }</code>
(kaedah Scott Kellum): Pendekatan yang dioptimumkan ini text-indent: 100%
hingga 100%, meningkatkan prestasi dengan mengelakkan penyampaian kotak besar.
text-indent
<code class="language-css">.replace-scott { width: 264px; height: 106px; background: url("assets/logo.png"); text-indent: 100%; white-space: nowrap; overflow: hidden; }</code>Pro:
<code class="language-css">.replace-margin { width: 2264px; height: 106px; background: url("assets/logo.png") top right no-repeat; margin: 0 0 0 -2000px; }</code>pro:
untuk menyembunyikan teks.
overflow: hidden
<code class="language-css">.replace-padding { width: 264px; height: 0; background: url("assets/logo.png"); padding: 106px 0 0 0; overflow: hidden; }</code>Pro:
menyembunyikan teks dengan menggunakan warna kecil dan sepadan dengan latar belakang. font-size
<code class="language-css">.replace-indent {
width: 264px;
height: 106px;
background: url("assets/logo.png");
text-indent: -9999px;
}</code>
display: none
(penggantian imej Fahrner): menyembunyikan teks menggunakan display: none
pada elemen pembalut.
<code class="language-css">.replace-scott { width: 264px; height: 106px; background: url("assets/logo.png"); text-indent: 100%; white-space: nowrap; overflow: hidden; }</code>
display: none
). overflow: hidden
(kaedah Leon Dwyer): menyembunyikan teks dengan menetapkan overflow: hidden
pada pembungkus bersaiz sifar.
<code class="language-css">.replace-margin { width: 2264px; height: 106px; background: url("assets/logo.png") top right no-repeat; margin: 0 0 0 -2000px; }</code>
kedudukan mutlak (Teknik Levin): meletakkan imej yang benar -benar dalam bekas.
<code class="language-css">.replace-padding { width: 264px; height: 0; background: url("assets/logo.png"); padding: 106px 0 0 0; overflow: hidden; }</code>
imej palsu (Radu darvas shim): menggunakan gif telus untuk paparan teks alt apabila imej dilumpuhkan.
<code class="language-css">.replace-font { width: 264px; height: 106px; background: url("assets/logo.png"); font-size: 1px; color: white; }</code>
imej sebenar dengan text-indent
: menggunakan imej dengan teks alt dan menyembunyikan teks menggunakan text-indent
.
<code class="language-css">.replace-display span { display: none; }</code>
text-indent
yang besar. Lihat Demo Codepen [pautan ke codepen demo]. clip-path
: Klip teks menggunakan harta
<code class="language-css">.replace-overflow span { display: block; width: 0; height: 0; overflow: hidden; }</code>
pseudo-element () (penggantian imej Nash): ::before
menggunakan pseudo-element untuk memaparkan imej dan menyembunyikan teks dengan . overflow: hidden
<code class="language-css">.replace-position span { background: url("assets/logo.png"); width: 100%; height: 100%; position: absolute; }</code>
Kesimpulan:
Walaupun teknik ini tetap berfungsi, pembangunan web moden sering menawarkan alternatif yang unggul. Pertimbangkan untuk menggunakan SVG, fon ikon, atau imej latar belakang yang digunakan secara langsung untuk elemen untuk prestasi yang lebih baik, SEO, dan pemeliharaan. Pilihan bergantung pada konteks dan keperluan projek tertentu. Sentiasa mengutamakan kebolehcapaian dan amalan terbaik SEO.
Soalan Lazim (Soalan Lazim): (Ini adalah paraphrased dan disatukan untuk keringkasan)
text-indent
berfungsi? menyembunyikan teks dengan menolaknya di luar skrin dengan indent negatif yang besar. text-indent
? tidak berfungsi dengan bahasa kanan-ke-kiri, isu-isu prestasi yang berpotensi. text-indent
yang biasa. text-indent
Umumnya tidak disyorkan secara langsung; Gunakan imej latar belakang. <img alt="Penggantian Imej CSS: inden teks, margin negatif dan banyak lagi" >
background
Atas ialah kandungan terperinci Penggantian Imej CSS: inden teks, margin negatif dan banyak lagi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!