Mengikut spesifikasi Grid CSS, nilai untuk kawasan grid ditakrifkan sebagai garis grid, yang menggunakan jenis pengenalan tersuai. Walau bagaimanapun, menurut dokumentasi MDN, pengecam tidak boleh dipetik, kerana itu akan menghasilkan nilai rentetan. Ini menimbulkan persoalan mengapa kawasan grid yang dinamakan mesti diakses menggunakan ID tanpa petikan.
Untuk menggambarkan isu tersebut, pertimbangkan contoh berikut:
.grid { display: grid; grid: "a b" 1fr "c d" 1fr / 1fr 1fr; } .foo { /* This works as expected, assigning the element to area 'b' in the upper right corner */ grid-area: b; } .bar { /* Quoting the area name fails to resolve correctly */ grid-area: "c"; }
<div class="grid"> <span class="foo">foo</span> <span class="bar">bar</span> <span class="hello">hello</span> </div>
Dalam contoh ini, elemen foo diperuntukkan kepada kawasan b menggunakan kawasan grid yang tidak disebut: b. Walau bagaimanapun, apabila cuba untuk menetapkan bar ke kawasan c menggunakan kawasan grid yang disebut: "c", ia gagal diselesaikan dengan betul.
Tingkah laku yang kelihatan berlawanan dengan intuisi ini timbul daripada keputusan untuk menggunakan pengecam tersuai – bukannya rentetan – untuk mewakili kawasan grid yang dinamakan. Lazimnya, sifat CSS menggunakan pengecam untuk nilainya, dengan pengecualian seperti fon-family, kandungan dan kawasan-templat grid menggunakan rentetan yang disebut.
Grid CSS pembangun spec memilih pengecam berbanding rentetan untuk kawasan grid yang dinamakan, terutamanya untuk konsistensi dengan spesifikasi CSS yang lain. Daripada perbincangan 2013 di kalangan penulis spesifikasi:
[Menggunakan pengecam] mempunyai faedah:
- Menggunakan pengecam, selaras dengan CSS yang lain
- Menyediakan kumpulan visual nama yang mengenal pasti lokasi yang sama
- Membenarkan templat kawasan grid yang dinamakan sintaks (yang menggunakan rentetan) untuk wujud bersama dengan baris bernama dalam trengkas templat grid.
Selain itu, sebagai perbincangan lain dari sorotan 2013:
Melihat sintaks semasa untuk mengisytiharkan garis grid yang dinamakan dalam baris/lajur definisi grid, kami telah sampai pada kesimpulan bahawa sintaks semasa adalah dahsyat:
- Kami menggunakan rentetan untuk mewakili pengenalan pengguna, yang tidak konsisten dengan semua perkara lain dalam CSS.
Walaupun mungkin tidak ada rasional teknikal yang kukuh untuk memilih pengecam khusus untuk kawasan grid yang dinamakan, pengarang spesifikasi bertujuan untuk konsisten dengan pendekatan umum dalam CSS. Dengan menggunakan pengecam, kawasan grid yang dinamakan sejajar dengan kebanyakan sifat CSS dan memberikan pengalaman pengguna yang koheren.
Atas ialah kandungan terperinci Mengapa Kawasan Grid Dinamakan CSS Tidak Memerlukan Petikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!