Baru -baru ini, saya membuat satu lagi laman web dengan Jekyll, kali ini untuk jargon JavaScript yang dipermudahkan dan saya mendapati diri saya menghadapi masalah yang tidak begitu biasa - menggariskan gaya di .
Keperluan
Terdapat peraturan biasa yang mengatakan adalah baik untuk menghantar apa yang diperlukan untuk menjadikan bahagian atas halaman di bawah 14KB, kerana itu adalah kira -kira berapa banyak pelayan boleh mengendalikan dalam satu roundtrip. Wawasan Google PagesPeed memberikan lebih banyak maklumat mengenai ini dalam dokumentasi mereka, jadi jangan ragu untuk melihat jika anda ingin tahu mengapa ia berfungsi dengan cara ini.
Setakat ini, jika CSS anda cukup kecil (seperti itu untuk SJSJ), anda boleh menyamakan semuanya di dan hantar semuanya bersama -sama di Roundtrip pertama tanpa mengganggu dengan lembaran luaran. Itu tidak biasa, tetapi apabila ia cukup, ia cukup rad.kembali ke Jekyll
jadi idea saya adalah memasukkan gaya di dalam tag
Daripada menggerakkan gaya saya di dalam folder _ termasuk binaan, saya boleh membuatnya terus di dalam folder itu. Saya kemudian boleh mempunyai fail CSS yang diimport di dalam kepala dokumen dari sana.
<span>/* _includes/styles.css */ </span> <span><span>.foo-bar</span> { </span> <span>color: pink; </span><span>} </span>
dan kemudian:
<span><!-- _includes/head.html --> </span> <span><span><span><style</span>></span><span> </span></span><span><span><span>{% include styles.css %} </span></span></span><span><span></span><span><span></style</span>></span> </span>
<span><!-- … --> </span><span><span><span><style</span>></span><span> </span></span><span><span><span><span>.foo-bar</span> { </span></span></span><span><span> <span>color: pink; </span></span></span><span><span><span>} </span></span></span><span><span></span><span><span></style</span>></span> </span><span><!-- … --> </span>
Jika anda pernah membaca dokumentasi dari Jekyll, anda mungkin perasan bahawa terdapat penapis scssify dan sassify. Dokumentasi mengatakan ini membolehkan kita untuk:
Tukar rentetan SASS- atau SCSS ke CSS.bagus. Ini bermakna kita masih boleh menggunakan SASS dengan paip keseluruhan fail kita ke dalam perkara ini. Satu -satunya masalah ialah kita tidak boleh memohon penapis pada blok, seperti { % termasuk %}. Caranya adalah untuk menangkap kandungan fail dalam pembolehubah (terima kasih kepada { % Capture %}), dan kemudian gunakan penapis kami ke pembolehubah ini apabila mengeluarkannya.
<span><!-- _includes/head.html --> </span>{% capture styles %} {% include styles.css %} {% endcapture %} <span><span><span><style</span>></span><span> </span></span><span><span><span>{{ styles | scssify }} </span></span></span><span><span></span><span><span></style</span>></span> </span>
bagaimana dengan pengabaian?
<span># _config.yml </span> <span>sass: </span> <span>style: compressed </span>
<span><!-- … --> </span><span><span><span><style</span>></span><span> </span></span><span><span><span><span>.foo-bar</span>{color:pink} </span></span></span><span><span></span><span><span></style</span>></span> </span><span><!-- … --> </span>
Sudah tentu, idea ini akan jatuh pendek apabila berurusan dengan lembaran gaya yang lebih besar daripada 14KB, di mana anda perlu mengekstrak CSS kritikal dengan beberapa alat. Tetapi untuk halaman dan laman web kecil - ia sangat berguna!
Jika anda ingin melihat bagaimana ia berfungsi pada projek sebenar, anda boleh menyemak fail pada repositori SJSJ:
soalan yang sering ditanya mengenai CSS sebaris di Jekyll
Ini adalah perenggan merah.
. Ingatlah, sifat CSS harus ditulis dalam unta ketika menggunakan CSS sebaris di Jekyll. gaya kepada elemen tertentu pada satu halaman. Ia mengatasi sebarang gaya yang bercanggah di CSS luaran atau dalaman, memberikan anda lebih banyak kawalan ke atas penampilan halaman web anda. Walau bagaimanapun, lebih baik menggunakan CSS dalam talian dengan berhati -hati, kerana ia boleh membuat dokumen HTML anda tidak kemas dan sukar untuk dikekalkan jika terlalu banyak digunakan. , Anda boleh menggunakan kedua -dua CSS dan CSS luaran di Jekyll. Walau bagaimanapun, perlu diingat bahawa CSS dalam talian mempunyai kekhususan yang lebih tinggi daripada CSS luaran. Ini bermakna jika terdapat gaya yang bercanggah, CSS sebaris akan mengatasi CSS luaran. kekhususan yang tinggi. Walau bagaimanapun, anda boleh menggunakan peraturan '! Penting' dalam CSS luaran atau dalaman anda untuk mengatasi CSS sebaris. Sebagai contoh, jika anda mempunyai gaya sebaris yang menetapkan warna perenggan menjadi merah, anda boleh mengatasinya di CSS luaran anda seperti ini: p {color: blue! Penting;}.Walaupun CSS sebaris di Jekyll menyediakan tahap kawalan yang tinggi ke atas unsur -unsur individu, ia mempunyai batasannya. Ia boleh membuat dokumen HTML anda kemas dan sukar untuk dikekalkan jika terlalu banyak digunakan. Ia juga tidak menggalakkan kebolehgunaan semula, seperti yang anda perlu gunakan secara manual gaya untuk setiap elemen. Kelajuan pemuatan laman Jekyll anda kerana penyemak imbas tidak perlu membuat permintaan HTTP tambahan untuk mengambil fail CSS luaran. Walau bagaimanapun, jika anda mempunyai banyak CSS, lebih baik menggunakan CSS luaran untuk memastikan dokumen HTML anda bersih dan mudah dikekalkan. 🎜> Tidak, anda tidak boleh menggunakan kelas dan ID CSS dengan CSS sebaris di Jekyll. CSS sebaris digunakan terus ke elemen HTML menggunakan atribut 'gaya', dan ia tidak menyokong kelas atau ID. Sekiranya anda ingin menggunakan kelas atau ID, anda harus menggunakan CSS luaran atau dalaman. CSS di Jekyll. Pertanyaan media digunakan dalam CSS luaran atau dalaman untuk menggunakan gaya yang berbeza untuk peranti atau saiz skrin yang berbeza. Jika anda perlu menggunakan pertanyaan media, anda harus menggunakan CSS luaran atau dalaman.
Atas ialah kandungan terperinci CSS sebaris di Jekyll. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!