Apabila mereka bentuk tapak web, memenuhi kedua-dua bahasa kiri-ke-kanan (LTR) dan kanan-ke-kiri (RTL) adalah penting untuk khalayak global. Walaupun kebanyakan pembangun sudah biasa menggunakan margin-kiri dan margin-kanan untuk pelarasan reka letak, sifat ini kurang dalam persekitaran di mana arah teks berubah. Masukkan margin-inline-start dan rakan logiknya - sifat CSS moden yang memudahkan mereka bentuk untuk kandungan berbilang bahasa dan dwiarah.
Dalam artikel ini, kami akan meneroka cara bertukar daripada margin-kiri/margin-kanan kepada margin-inline-start dan margin-inline-end meningkatkan fleksibiliti dan mengekalkan konsistensi merentas bahasa LTR dan RTL.
Memahami Sifat Logik dalam CSS
Sifat CSS tradisional seperti jidar-kiri dan jidar-kanan ialah sifat fizikal, bermakna kelakuannya terikat pada visual kiri dan kanan skrin. Ini berfungsi dengan baik untuk bahasa LTR seperti bahasa Inggeris tetapi menimbulkan isu apabila arah halaman bertukar kepada RTL, seperti dalam bahasa Arab atau Ibrani.
Sifat logik, yang diperkenalkan dalam CSS3, adalah agnostik arah. Mereka menyesuaikan diri berdasarkan mod penulisan dokumen atau elemen. Sifat margin logik utama termasuk:
• margin-inline-start: Menggantikan margin-kiri untuk LTR dan margin-kanan untuk RTL.
• margin-inline-end: Menggantikan margin-kanan untuk LTR dan margin-kiri untuk RTL.
Sifat ini lebih sejajar dengan aliran semula jadi teks dwiarah, menjadikannya sangat diperlukan untuk reka bentuk web antarabangsa.
Mengapa Gunakan margin-inline-start?
1 - Sokongan RTL yang lancar
Apabila anda menggunakan margin-kiri, ia sentiasa menggunakan margin pada sebelah kiri elemen, tanpa mengira arah teks. Tingkah laku ini tidak berubah walaupun halaman bertukar kepada RTL, yang membawa kepada reka letak yang tidak sejajar. Sebaliknya, margin-inline-start menyesuaikan diri berdasarkan arah teks, menggunakan margin pada bahagian yang sesuai:
/* Logical property */ .element { margin-inline-start: 20px; } /* Equivalent to */ :root[dir="ltr"] .element { margin-left: 20px; } :root[dir="rtl"] .element { margin-right: 20px; }
2 - Kod Pembersih
Tanpa sifat logik, menyokong kedua-dua LTR dan RTL memerlukan gaya khusus arah, menambah kerumitan dan potensi ralat. Ini perbandingannya:
Pendekatan Tradisional:
:root[dir="ltr"] .element { margin-left: 20px; } :root[dir="rtl"] .element { margin-right: 20px; }
Pendekatan Moden:
.element { margin-inline-start: 20px; }
3 - Kalis Masa Depan dan Boleh Skala
Sifat logik adalah sebahagian daripada evolusi berterusan CSS ke arah susun atur yang mudah suai dan fleksibel. Dengan menggunakan margin-inline-start, anda menyelaraskan reka bentuk anda dengan piawaian moden, menjadikannya lebih berskala dan boleh diselenggara.
Contoh Dunia Sebenar
Berikut ialah cara anda boleh memfaktorkan semula reka letak kad biasa untuk sokongan RTL yang lebih baik:
Sebelum: Menggunakan margin-kiri
.card { margin-left: 1rem; padding-left: 2rem; }
Dalam RTL, reka letak akan kelihatan padam kerana jarak tetap di sebelah kiri.
Selepas: Menggunakan margin-inline-start
/* Logical property */ .element { margin-inline-start: 20px; } /* Equivalent to */ :root[dir="ltr"] .element { margin-left: 20px; } :root[dir="rtl"] .element { margin-right: 20px; }
Kini, jidar dan pelapik dilaraskan secara automatik apabila arah berubah, memastikan pengalaman pengguna yang konsisten.
Sokongan Penyemak Imbas
Sifat logik disokong dengan baik dalam penyemak imbas moden, termasuk Chrome, Edge, Firefox dan Safari. Jika anda perlu menyokong pelayar lama, pertimbangkan untuk menggunakan sandaran:
:root[dir="ltr"] .element { margin-left: 20px; } :root[dir="rtl"] .element { margin-right: 20px; }
Pemikiran Akhir
Beralih kepada sifat logik seperti margin-inline-start ialah perubahan kecil yang memberi kesan besar pada kebolehaksesan, kebolehselenggaraan dan pengantarabangsaan. Apabila web menjadi semakin global, menerima pakai sifat ini memastikan reka bentuk anda inklusif dan boleh disesuaikan untuk pengguna di seluruh dunia.
Jadi lain kali anda mencapai margin-kiri, jeda dan pertimbangkan: adakah margin-inline-start melakukan kerja dengan lebih baik? Kemungkinan besar, ia akan berlaku.
Selamat pengekodan, dan semoga reka bentuk anda mengalir dengan indah dalam mana-mana bahasa!
Atas ialah kandungan terperinci Menerima margin-inline-start untuk Sokongan RTL yang Lebih Baik dalam Reka Bentuk Web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!