3
Anda mungkin baru -baru ini mendengar Lembaran Gaya Grid (GSS) di dunia HTML dan CSS. GSS membayangkan semula susun atur CSS dan menggantikan enjin susun atur penyemak imbas dengan satu yang memanfaatkan Solver Kekangan Kekangan
GSS menjanjikan masa depan yang lebih baik. GSS menjanjikan kedudukan dan saiz relatif. GSS berjanji untuk memusatkan sebarang elemen di dalam yang lain dengan satu baris kod. Dan GSS menyampaikan. Persoalannya ialah: bagaimana?
Dalam artikel ini, saya akan meliputi sejarah ringkas GSS dan gambaran yang mendalam mengenai ciri-ciri yang ditawarkannya. Saya juga akan melihat GSS untuk susun atur berasaskan kekangan, algoritma kekangan kasar, dan membimbing anda melalui proses memasang dan menggunakan GSS. orang -orang yang lebih suka tidak menunggu untuk W3C atau pelayar untuk mengejar, saya menggesa anda untuk menggantung di sana dan memberi perhatian yang mendalam ketika saya menjelaskan misteri yang GSS. Pada nota itu, mari kita mulakan dengan sedikit sejarah.
Takeaways Key
Untuk mula menggunakan GSS, ia perlu dipasang melalui Bower atau dimuat turun melalui GitHub sebagai fail zip, dan kemudian GSS Stylesheets boleh dimuatkan dengan menambah Type = Text/GSS pada tag
atau menggunakan
Sudah tiba masanya untuk GSS mengambil arena. GSS menangani masalah ini dan banyak lagi - masalah yang dimiliki oleh pemaju selama lebih dari satu dekad.
Pada dasarnya, GSS adalah preprocessor CSS dan runtime JavaScript yang mengeksploitasi cassowary.js. Mereka yang belum tahu, cassowary.js adalah port JavaScript Apple menggunakan koko autolayout.
Kedua -dua GSS dan Cassowary diasaskan pada pengaturcaraan kekangan, menjadikannya sesuai untuk memperkasakan bahasa deklaratif seperti CSS. Pengaturcaraan kekangan adalah paradigma yang mana pemaju web bimbang dengan mengisytiharkan "apa" dan meninggalkan "bagaimana" sehingga pemecah matematik.Pengaturcaraan kekangan memberi tumpuan kepada niat, bukan pelaksanaan.
Sekarang bahawa kami telah menubuhkan beberapa maklumat latar belakang, mari kita beralih ke ciri -ciri yang ditawarkan GSS.
Gambaran keseluruhan GSSIni membawa kami kepada ciri pertama GSS: anda menentukan apa yang anda mahukan susun atur. Sudahlah hari-hari menghabiskan banyak jam percubaan dan kesilapan, menyusun bagaimana susun atur harus dibina.
Oleh kerana kita sudah membincangkan bahawa GSS menggunakan cassowary.js, berikut adalah satu lagi ciri hebat GSS: elemen boleh berpusat di dalam mana -mana yang lain dengan satu baris kod. Ini membuat banyak penyelesaian yang tidak perlu dan perkara -perkara masa lalu.
Sebagai contoh, jika anda ingin menambah butang langganan secara menegak dengan, katakan, tajuk di sebelah kanan halaman laman web anda, anda akan menggunakan kod berikut:
.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
"Sebagai laman web berkembang dari dokumen mudah ke dalam aplikasi kompleks, interaktif, alat untuk susun atur dokumen, mis. Terapung, tidak semestinya sesuai untuk susun atur permohonan. "bagaimana dengan ciri -ciri CSS seperti! Penting? Ciri keempat GSS melakukan sesuatu yang serupa: GSS menggunakan hierarki kekangan untuk mengutamakan kekangan dengan kekuatan. Kami bercakap mengenai empat tahap kekuatan terbina dalam di sini:- Modul susun atur grid W3C (draf kerja)
khas kekuatan yang memastikan bahawa kekangan akan memegang dan jika ia tidak maka semuanya pecah. Adalah dinasihatkan untuk menggunakannya dengan teliti dan jarang sekali.
Tahap kekuatan meningkatkan senarai dan kekangan yang lebih kuat diberi keutamaan yang lebih tinggi semasa pelaksanaan. Mari kita lihat contoh:
#light[years] == <span>50 !weak; </span>#light[years] == <span>20 !medium; </span>#light[years] == <span>35 !strong; </span> <span>/* #light[years] will hold the value 35 */</span>
GSS untuk susun atur berasaskan kekangan
.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
Dalam contoh yang diberikan di atas, kedua -dua kekangan memegang sah. Berikut adalah contoh kekangan yang tidak dipegang.
#light[years] == <span>50 !weak; </span>#light[years] == <span>20 !medium; </span>#light[years] == <span>35 !strong; </span> <span>/* #light[years] will hold the value 35 */</span>
Pada mulanya, kedua -dua elemen Elementa dan ElementB dikekang mempunyai ketinggian 150px. Dalam baris ketiga, jumlah kedua -dua elemen adalah 225px. Oleh itu, salah satu daripada kekangan elemen tidak akan dipegang.
pemilih dalam GSS adalah pertanyaan di atas sekumpulan elemen HTML dan mereka digunakan untuk menentukan unsur -unsur yang akhirnya akan dipengaruhi oleh kekangan. Pemilih adalah penting kerana anda perlu memilih dan memerhatikan unsur -unsur dari DOM sebelum anda menggunakan kekangan kepada mereka.
Pemilih asas berikut disokong oleh GSS.
p[line-height] >= <span>10; </span>p[line-height] <= <span>::window[height] / 20;</span>
peraturan akan membolehkan anda menentukan pelbagai kekangan ke atas pemilih tunggal. Anda boleh bersarang dan menggunakan sifat CSS di dalamnya juga.
peraturan bersarang ini:
#elementa[height] == <span>150; </span>#elementb[height] == <span>150; </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
sama seperti:
#elementID[height] == <span>150; /* id */ </span>div[height] == <span>150; /* element */ </span>.className[height] == <span>150; /* class */</span>
Saya telah meliputi sifat -sifat dalam contoh -contoh di atas tetapi mari kita lihat mereka sedikit lebih dekat. Dalam GSS, sifat adalah pembolehubah yang tergolong dalam elemen. Apabila kita menggunakan sifat-sifat yang dikenali oleh CSS, nilai yang dikira GSS yang sepadan diberikan sebagai gaya inline pada elemen.
sesuatu seperti ini:
<span>section < article { </span> <span><span>.aclass</span> { </span> <span>height: == 150; </span> <span>} </span><span>}</span>
akan sama dengan:
<span>(section < article .aclass)[height] == 150;</span>
GSS menggunakan port JavaScript (cassowary.js) dari algoritma penyelesaian aritmetik linear cassowary oleh Badros, Borning dan Stuckey, 1999.
Pengguna tidak dikehendaki memastikan bahawa kekangan input tidak bertentangan dengan satu sama lain. Malah, ini adalah intipati algoritma cassowary; Ia secara bertahap menilai kekangan dan mendapati penyelesaian optimum secara automatik.
Solver Kekangan di belakang GSS dipanggil algoritma Cassowary. Algoritma ini hanya boleh mengira kekangan yang linear (iaitu bentuk y = mx c). Pengendali asas (, -, *, /) disokong oleh algoritma. Pendaraban dan pembahagian dua (atau lebih) pemboleh ubah terkawal tidak linear dan oleh itu, akan membuang kesilapan.
<span><span>.container</span> { </span> <span>height: == #elm[height]; </span><span>}</span>
Untuk pemasangan sisi klien, pasang melalui Bower:
<span><span>.container</span> { </span> &[height] == #elm[height]<span>; </span><span>}</span>
kemudian tambahkan kod ini ke bahagian
markup anda:<span>/* this expression is not linear */ </span>#elementa[height] <span>* #elementb[width] == newElement;</span>
anda juga boleh memuat turun versi 2.0.0 melalui github sebagai fail zip.
Sebaik sahaja anda memasang GSS, muatkan stylesheets anda.
.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
#light[years] == <span>50 !weak; </span>#light[years] == <span>20 !medium; </span>#light[years] == <span>35 !strong; </span> <span>/* #light[years] will hold the value 35 */</span>
tutorial pemula GSS
p[line-height] >= <span>10; </span>p[line-height] <= <span>::window[height] / 20;</span>
#elementa[height] == <span>150; </span>#elementb[height] == <span>150; </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
Contoh 1: Vertikal memusatkan elemen
#elementID[height] == <span>150; /* id */ </span>div[height] == <span>150; /* element */ </span>.className[height] == <span>150; /* class */</span>
Matlamat saya adalah untuk secara menegak memusatkan elemen .foo di dalam viewport, walaupun saiznya, dan dapat mengekalkan penjajaran yang sama walaupun saiz unsur berubah.
Berikut adalah kekangan yang saya akan memohon untuk mencapai matlamat ini:
blok
<span>section < article { </span> <span><span>.aclass</span> { </span> <span>height: == 150; </span> <span>} </span><span>}</span>
Dan itu semua yang diperlukan. Unsur ini kini berpusat (dengan ketinggian dinamik) secara menegak menggunakan GSS. Berikut adalah demo:
<span>(section < article .aclass)[height] == 150;</span>
Cuba demo skrin penuh dan cuba saiz semula penyemak imbas secara menegak untuk melihat elemen tetap berpusat pada mana -mana saiz tetingkap.
Contoh 2: Putaran elemen berdasarkan lebar tetingkap yang berubah secara dinamik
Untuk contoh seterusnya, saya akan membuat bentuk persegi berwarna yang mudah dan memusingkannya secara dinamik. Pertama mari boot GSS dengan menambahkan baris kod berikut di bahagian dokumen:
.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
Perhatikan bahawa anda perlu mengedit kod di atas untuk menunjuk ke lokasi yang betul untuk fail. Anda boleh mendapatkan fail Worker.js di sini, dan fail GSS.JS di sini.
Nota: Oleh kerana beberapa pepijat, laluan fail di atas menunjuk ke versi pra-2.0.0 GSS untuk mendapatkan ini berfungsi.
Sekarang mari kita buat bentuk persegi dengan menambahkan ini ke HTML:
#light[years] == <span>50 !weak; </span>#light[years] == <span>20 !medium; </span>#light[years] == <span>35 !strong; </span> <span>/* #light[years] will hold the value 35 */</span>
... dan tambahkan beberapa gaya di CSS:
p[line-height] >= <span>10; </span>p[line-height] <= <span>::window[height] / 20;</span>
Sekarang saya akan kembali ke HTML dan menambah beberapa kekangan GSS.
Perlu diingat bahawa dengan GSS, anda hanya membuat niat dan meninggalkan pengiraan matematik sehingga algoritma. Dalam contoh ini, saya cuba membuat kekangan antara elemen dan tetingkap yang mana putaran dihasilkan dalam elemen apabila lebar tetingkap berubah secara dinamik.
Berikut adalah kekangan yang saya akan memohon untuk mencapai matlamat ini:
Saya akan menambah blok gaya ke HTML dengan jenis set ke teks/GSS, seperti yang saya lakukan dalam contoh pertama. Ingat bahawa blok gaya diperlukan untuk menentukan GSS yang akan saya tambah.
#elementa[height] == <span>150; </span>#elementb[height] == <span>150; </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
Saya akan mengaitkan kotak persegi dengan skrin menggunakan GSS mengekang dengan menambahkan kod berikut di dalam tag gaya:
#elementID[height] == <span>150; /* id */ </span>div[height] == <span>150; /* element */ </span>.className[height] == <span>150; /* class */</span>
Dan dengan itu, ia dilakukan. Lihat demo Codepen akhir:
Lihat putaran dinamik pena menggunakan GSS oleh SitePoint (@SitePoint) pada codepen.
Jika anda melihat demo skrin penuh, cuba saiz semula tetingkap. Anda akan melihat bahawa kotak persegi akan menukar kedudukan putarannya apabila lebar tetingkap diubah.
Masa depan GSS kelihatan menjanjikan. Sudah tiba masanya kami bergerak ke hadapan dengan teknologi front-end. Saya cadangkan anda berlatih pada prototaip skala yang lebih kecil sebelum anda merobek seluruh perpustakaan stylesheet anda.
Apa yang saya tutupi di sini hanyalah contoh kecil dari apa yang boleh anda lakukan dengan GSS, tetapi saya harap anda dapati tutorial ini berguna dan bermaklumat untuk memulakan anda.
Adakah anda sudah menggunakan GSS? Bagaimana pengalaman anda? Beritahu saya di bahagian komen.
Apakah faedah menggunakan GSS? Ia membolehkan kawalan yang lebih tepat terhadap susun atur, menjadikannya lebih mudah untuk mewujudkan reka bentuk yang kompleks dan responsif. GSS juga memudahkan kod, menjadikannya lebih mudah untuk dibaca dan diselenggarakan. Di samping itu, GSS menyokong penyuntingan langsung, yang bermaksud anda dapat melihat perubahan dalam masa nyata semasa kod.
Ya, GSS adalah projek sumber terbuka. Ini bermakna sesiapa sahaja boleh menyumbang kepada pembangunannya dan menggunakannya secara percuma dalam projek mereka. Kod sumber untuk GSS boleh didapati di GitHub. Walau bagaimanapun, ciri-ciri yang kuat dan minat yang semakin meningkat dalam susun atur berasaskan kekangan menunjukkan bahawa ia mempunyai masa depan yang menjanjikan. Memandangkan lebih banyak pemaju mengamalkan GSS, kita boleh mengharapkan untuk melihat lebih banyak sumber, alat, dan sokongan komuniti untuk teknologi inovatif ini.
GSS menggunakan pengaturcaraan kekangan, yang memberi tumpuan kepada niat dan bukannya pelaksanaan, yang membolehkan pemaju mengisytiharkan "apa" dan meninggalkan "bagaimana" sehingga pemecah matematik.
Sudah tiba masanya untuk GSS mengambil arena. GSS menangani masalah ini dan banyak lagi - masalah yang dimiliki oleh pemaju selama lebih dari satu dekad.
Pada dasarnya, GSS adalah preprocessor CSS dan runtime JavaScript yang mengeksploitasi cassowary.js. Mereka yang belum tahu, cassowary.js adalah port JavaScript Apple menggunakan koko autolayout.
Kedua -dua GSS dan Cassowary diasaskan pada pengaturcaraan kekangan, menjadikannya sesuai untuk memperkasakan bahasa deklaratif seperti CSS. Pengaturcaraan kekangan adalah paradigma yang mana pemaju web bimbang dengan mengisytiharkan "apa" dan meninggalkan "bagaimana" sehingga pemecah matematik.
Pengaturcaraan kekangan memberi tumpuan kepada niat, bukan pelaksanaan.
Sekarang bahawa kami telah menubuhkan beberapa maklumat latar belakang, mari kita beralih ke ciri -ciri yang ditawarkan GSS.
Gambaran keseluruhan GSSIni membawa kami kepada ciri pertama GSS: anda menentukan apa yang anda mahukan susun atur. Sudahlah hari-hari menghabiskan banyak jam percubaan dan kesilapan, menyusun bagaimana susun atur harus dibina.
Oleh kerana kita sudah membincangkan bahawa GSS menggunakan cassowary.js, berikut adalah satu lagi ciri hebat GSS: elemen boleh berpusat di dalam mana -mana yang lain dengan satu baris kod. Ini membuat banyak penyelesaian yang tidak perlu dan perkara -perkara masa lalu.
Sebagai contoh, jika anda ingin menambah butang langganan secara menegak dengan, katakan, tajuk di sebelah kanan halaman laman web anda, anda akan menggunakan kod berikut:
.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
"Sebagai laman web berkembang dari dokumen mudah ke dalam aplikasi kompleks, interaktif, alat untuk susun atur dokumen, mis. Terapung, tidak semestinya sesuai untuk susun atur permohonan. "bagaimana dengan ciri -ciri CSS seperti! Penting? Ciri keempat GSS melakukan sesuatu yang serupa: GSS menggunakan hierarki kekangan untuk mengutamakan kekangan dengan kekuatan. Kami bercakap mengenai empat tahap kekuatan terbina dalam di sini:- Modul susun atur grid W3C (draf kerja)
khas kekuatan yang memastikan bahawa kekangan akan memegang dan jika ia tidak maka semuanya pecah. Adalah dinasihatkan untuk menggunakannya dengan teliti dan jarang sekali.
Tahap kekuatan meningkatkan senarai dan kekangan yang lebih kuat diberi keutamaan yang lebih tinggi semasa pelaksanaan. Mari kita lihat contoh:
.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
Anda telah membuatnya sejauh ini, mari kita lihat beberapa susun atur berasaskan kekangan sekarang.
Kekangan pada dasarnya adalah hubungan antara dua atau lebih pembolehubah yang mungkin atau tidak boleh dipegang. Semua sifat angka unsur -unsur layak dikekang. Berikut adalah contoh:
#light[years] == <span>50 !weak; </span>#light[years] == <span>20 !medium; </span>#light[years] == <span>35 !strong; </span> <span>/* #light[years] will hold the value 35 */</span>
Dalam contoh yang diberikan di atas, kedua -dua kekangan memegang sah. Berikut adalah contoh kekangan yang tidak dipegang.
p[line-height] >= <span>10; </span>p[line-height] <= <span>::window[height] / 20;</span>
Pada mulanya, kedua -dua elemen Elementa dan ElementB dikekang mempunyai ketinggian 150px. Dalam baris ketiga, jumlah kedua -dua elemen adalah 225px. Oleh itu, salah satu daripada kekangan elemen tidak akan dipegang.
pemilih dalam GSS adalah pertanyaan di atas sekumpulan elemen HTML dan mereka digunakan untuk menentukan unsur -unsur yang akhirnya akan dipengaruhi oleh kekangan. Pemilih adalah penting kerana anda perlu memilih dan memerhatikan unsur -unsur dari DOM sebelum anda menggunakan kekangan kepada mereka.
Pemilih asas berikut disokong oleh GSS.
#elementa[height] == <span>150; </span>#elementb[height] == <span>150; </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
peraturan akan membolehkan anda menentukan pelbagai kekangan ke atas pemilih tunggal. Anda boleh bersarang dan menggunakan sifat CSS di dalamnya juga.
peraturan bersarang ini:
#elementID[height] == <span>150; /* id */ </span>div[height] == <span>150; /* element */ </span>.className[height] == <span>150; /* class */</span>
sama seperti:
<span>section < article { </span> <span><span>.aclass</span> { </span> <span>height: == 150; </span> <span>} </span><span>}</span>
Saya telah meliputi sifat -sifat dalam contoh -contoh di atas tetapi mari kita lihat mereka sedikit lebih dekat. Dalam GSS, sifat adalah pembolehubah yang tergolong dalam elemen. Apabila kita menggunakan sifat-sifat yang dikenali oleh CSS, nilai yang dikira GSS yang sepadan diberikan sebagai gaya inline pada elemen.
sesuatu seperti ini:
<span>(section < article .aclass)[height] == 150;</span>
akan sama dengan:
<span><span>.container</span> { </span> <span>height: == #elm[height]; </span><span>}</span>
GSS menggunakan port JavaScript (cassowary.js) dari algoritma penyelesaian aritmetik linear cassowary oleh Badros, Borning dan Stuckey, 1999.
Pengguna tidak dikehendaki memastikan bahawa kekangan input tidak bertentangan dengan satu sama lain. Malah, ini adalah intipati algoritma cassowary; Ia secara bertahap menilai kekangan dan mendapati penyelesaian optimum secara automatik.
Solver Kekangan di belakang GSS dipanggil algoritma Cassowary. Algoritma ini hanya boleh mengira kekangan yang linear (iaitu bentuk y = mx c). Pengendali asas (, -, *, /) disokong oleh algoritma. Pendaraban dan pembahagian dua (atau lebih) pemboleh ubah terkawal tidak linear dan oleh itu, akan membuang kesilapan.
.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
Untuk pemasangan sisi klien, pasang melalui Bower:
#light[years] == <span>50 !weak; </span>#light[years] == <span>20 !medium; </span>#light[years] == <span>35 !strong; </span> <span>/* #light[years] will hold the value 35 */</span>
kemudian tambahkan kod ini ke bahagian
markup anda:p[line-height] >= <span>10; </span>p[line-height] <= <span>::window[height] / 20;</span>
anda juga boleh memuat turun versi 2.0.0 melalui github sebagai fail zip.
Sebaik sahaja anda memasang GSS, muatkan stylesheets anda.
#elementa[height] == <span>150; </span>#elementb[height] == <span>150; </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
#elementID[height] == <span>150; /* id */ </span>div[height] == <span>150; /* element */ </span>.className[height] == <span>150; /* class */</span>
tutorial pemula GSS
<span>section < article { </span> <span><span>.aclass</span> { </span> <span>height: == 150; </span> <span>} </span><span>}</span>
<span>(section < article .aclass)[height] == 150;</span>
Contoh 1: Vertikal memusatkan elemen
<span><span>.container</span> { </span> <span>height: == #elm[height]; </span><span>}</span>
Matlamat saya adalah untuk secara menegak memusatkan elemen .foo di dalam viewport, walaupun saiznya, dan dapat mengekalkan penjajaran yang sama walaupun saiz unsur berubah.
Berikut adalah kekangan yang saya akan memohon untuk mencapai matlamat ini:
blok
<span><span>.container</span> { </span> &[height] == #elm[height]<span>; </span><span>}</span>
Dan itu semua yang diperlukan. Unsur ini kini berpusat (dengan ketinggian dinamik) secara menegak menggunakan GSS. Berikut adalah demo:
lihat penatan menegak pen dengan GSS oleh SitePoint (@SitePoint) pada codepen.
Cuba demo skrin penuh dan cuba saiz semula penyemak imbas secara menegak untuk melihat elemen tetap berpusat pada mana -mana saiz tetingkap.
Untuk contoh seterusnya, saya akan membuat bentuk persegi berwarna yang mudah dan memusingkannya secara dinamik. Pertama mari boot GSS dengan menambahkan baris kod berikut di bahagian
dokumen:.subscribe-button[right] == <span>::window[width]; </span>.subscribe-button[center-y] == .header[center-y]<span>;</span>
Perhatikan bahawa anda perlu mengedit kod di atas untuk menunjuk ke lokasi yang betul untuk fail. Anda boleh mendapatkan fail Worker.js di sini, dan fail GSS.JS di sini.
Nota: Oleh kerana beberapa pepijat, laluan fail di atas menunjuk ke versi pra-2.0.0 GSS untuk mendapatkan ini berfungsi.
Sekarang mari kita buat bentuk persegi dengan menambahkan ini ke HTML:
#light[years] == <span>50 !weak; </span>#light[years] == <span>20 !medium; </span>#light[years] == <span>35 !strong; </span> <span>/* #light[years] will hold the value 35 */</span>
... dan tambahkan beberapa gaya di CSS:
p[line-height] >= <span>10; </span>p[line-height] <= <span>::window[height] / 20;</span>
Sekarang saya akan kembali ke HTML dan menambah beberapa kekangan GSS.
Perlu diingat bahawa dengan GSS, anda hanya membuat niat dan meninggalkan pengiraan matematik sehingga algoritma. Dalam contoh ini, saya cuba membuat kekangan antara elemen dan tetingkap yang mana putaran dihasilkan dalam elemen apabila lebar tetingkap berubah secara dinamik.
Berikut adalah kekangan yang saya akan memohon untuk mencapai matlamat ini:
Saya akan menambah blok gaya ke HTML dengan jenis set ke teks/GSS, seperti yang saya lakukan dalam contoh pertama. Ingat bahawa blok gaya diperlukan untuk menentukan GSS yang akan saya tambah.
#elementa[height] == <span>150; </span>#elementb[height] == <span>150; </span>#elementa[height] <span>+ #elementb[height] == 225;</span>
Saya akan mengaitkan kotak persegi dengan skrin menggunakan GSS mengekang dengan menambahkan kod berikut di dalam tag gaya:
#elementID[height] == <span>150; /* id */ </span>div[height] == <span>150; /* element */ </span>.className[height] == <span>150; /* class */</span>
Dan dengan itu, ia dilakukan. Lihat demo Codepen akhir:
Lihat putaran dinamik pena menggunakan GSS oleh SitePoint (@SitePoint) pada codepen.
Jika anda melihat demo skrin penuh, cuba saiz semula tetingkap. Anda akan melihat bahawa kotak persegi akan menukar kedudukan putarannya apabila lebar tetingkap diubah.
Masa depan GSS kelihatan menjanjikan. Sudah tiba masanya kami bergerak ke hadapan dengan teknologi front-end. Saya cadangkan anda berlatih pada prototaip skala yang lebih kecil sebelum anda merobek seluruh perpustakaan stylesheet anda.
Apa yang saya tutupi di sini hanyalah contoh kecil dari apa yang boleh anda lakukan dengan GSS, tetapi saya harap anda dapati tutorial ini berguna dan bermaklumat untuk memulakan anda.
Adakah anda sudah menggunakan GSS? Bagaimana pengalaman anda? Beritahu saya di bahagian komen.
GSS, atau helaian gaya grid, adalah alat yang berkuasa untuk pemaju web dan pereka. Ia adalah enjin susun atur berasaskan kekangan yang membolehkan anda membuat susun atur yang responsif dan fleksibel menggunakan sintaks mudah dan intuitif. GSS memanjangkan model CSS tradisional dengan memperkenalkan konsep kekangan, yang membolehkan anda menentukan hubungan antara unsur -unsur dan mengawal tingkah laku mereka dengan cara yang lebih tepat dan fleksibel.
CSS tradisional menggunakan model kotak untuk susun atur, yang boleh mengehadkan dan kompleks apabila membuat susun atur kompleks. Sebaliknya, GSS menggunakan model berasaskan kekangan, yang membolehkan lebih banyak fleksibiliti dan ketepatan. Dengan GSS, anda boleh menentukan hubungan antara unsur -unsur dan mengawal tingkah laku mereka dengan cara yang lebih intuitif. bagaimana saya boleh mula menggunakan GSS?Untuk mula menggunakan GSS, anda perlu memasukkan enjin GSS dalam projek anda. Ini boleh dilakukan dengan memuat turun perpustakaan GSS dari laman web rasmi atau dengan menggunakan pengurus pakej seperti NPM. Sebaik sahaja enjin GSS dimasukkan ke dalam projek anda, anda boleh mula menulis kod GSS dalam fail CSS anda.
Bolehkah saya menggunakan GSS dengan kod CSS saya yang sedia ada?Ya, GSS direka untuk bekerja bersama CSS tradisional. Ini bermakna anda secara beransur -ansur boleh memperkenalkan GSS ke dalam projek anda tanpa perlu menulis semula kod CSS anda yang sedia ada. Kod GSS boleh ditulis dalam fail berasingan atau dicampur dengan kod CSS biasa.
Apakah faedah menggunakan GSS?GSS menawarkan beberapa faedah ke atas CSS tradisional. Ia membolehkan kawalan yang lebih tepat terhadap susun atur, menjadikannya lebih mudah untuk mewujudkan reka bentuk yang kompleks dan responsif. GSS juga memudahkan kod, menjadikannya lebih mudah untuk dibaca dan diselenggarakan. Di samping itu, GSS menyokong penyuntingan langsung, yang bermaksud anda dapat melihat perubahan dalam masa nyata semasa anda kod.
Adakah GSS disokong oleh semua pelayar?GSS menggunakan JavaScript untuk melaksanakan enjin susun atur berasaskan kekangan, yang bermaksud ia harus berfungsi dalam pelayar moden yang menyokong JavaScript. Walau bagaimanapun, seperti mana -mana teknologi baru, ia sentiasa merupakan idea yang baik untuk menguji reka bentuk anda dalam pelbagai pelayar untuk memastikan keserasian.
Adakah terdapat sumber yang tersedia untuk belajar GSS?Ya, terdapat beberapa sumber yang tersedia untuk belajar GSS. Laman web rasmi GSS menyediakan panduan dan dokumentasi yang komprehensif. Terdapat juga beberapa tutorial dan kursus dalam talian yang tersedia yang meliputi GSS secara mendalam.
Bolehkah GSS digunakan untuk pembangunan web mudah alih?Ya, GSS adalah alat yang sangat baik untuk pembangunan web mudah alih. Enjin susun atur berasaskan kekangan membolehkan reka bentuk responsif yang menyesuaikan diri dengan saiz dan orientasi skrin yang berbeza. Ini menjadikannya lebih mudah untuk mewujudkan pengalaman pengguna yang konsisten di seluruh peranti yang berbeza.
Adakah sumber terbuka GSS?Ya, GSS adalah projek sumber terbuka. Ini bermakna sesiapa sahaja boleh menyumbang kepada pembangunannya dan menggunakannya secara percuma dalam projek mereka. Kod sumber untuk GSS boleh didapati di GitHub.
Apakah masa depan GSS?Sebagai teknologi yang agak baru, GSS masih berkembang. Walau bagaimanapun, ciri-ciri yang kuat dan minat yang semakin meningkat dalam susun atur berasaskan kekangan menunjukkan bahawa ia mempunyai masa depan yang menjanjikan. Memandangkan lebih banyak pemaju mengamalkan GSS, kita boleh mengharapkan untuk melihat lebih banyak sumber, alat, dan sokongan komuniti untuk teknologi inovatif ini.
Atas ialah kandungan terperinci Memperkenalkan GSS: Lembaran Gaya Grid. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!