3
Takeaways Key
Tajuk CSS adalah metodologi yang memudahkan penamaan kelas CSS dengan menggunakan nama -nama yang dimodalkan untuk kelas global dan nama kecil untuk pengubahsuaian atau kelas keturunan. Pendekatan ini memberikan manfaat BEM tanpa menambah awalan atau aksara khas kepada nama kelas.
SMACSS adalah pelan permainan CSS yang merangkumi semua yang akan melatih anda melalui semua teknik yang betul.
CSS idiomatik adalah pembersih rumah analitik, menganjurkan segala -galanya dalam pakaian seragam untuk pengiktirafan mudah dan ketenangan fikiran.
jadi mengapa ada lagi bercakap mengenai penamaan kelas?
Pendekatan BEM adalah mengenai menulis CSS berskala dengan penekanan pada kebolehbacaan dan mengelakkan perlanggaran. Ringkasnya, BEM bermaksud pengendali block__element. Blok adalah elemen yang merangkumi sebahagian kecil unsur -unsur yang berkaitan (dalam SMACSS ia dipanggil modul). Unsur ini adalah keturunan blok dan biasanya tidak akan wujud tanpa kehadiran blok. Pengubahsuaian mengawal keadaan blok.
di BEM, anda menulis nama kelas biasa untuk blok, dan untuk mana -mana elemen anda menyalin nama blok dan masukkan nama elemen.
bem konvensional kelihatan seperti ini:
Ini bagus kerana sesiapa sahaja akan memahami bahawa "block__element" berkaitan dengan "blok" dan ada sedikit peluang kelas "block__element" telah digunakan di tempat lain dalam projek.
tetapi ada masalah dengan pendekatan ini. Anda menulis CSS sepanjang hari dan anda tidak mahu menulis nama kelas panjang yang berlumpur markup bersih anda.
Tajuk CSS adalah tentang memberi anda manfaat BEM tanpa menambahkan sebarang awalan atau aksara khas untuk nama kelas anda.
Menggunakan tajuk CSS, anda akan melakukan perkara berikut: Untuk mana -mana kelas CSS global, gunakan nama yang dimodalkan (kes tajuk). Untuk mana -mana pengubahsuaian atau kelas keturunan, gunakan huruf kecil untuk permulaan nama th.
Ini bermakna dengan tajuk CSS anda memanfaatkan nama kelas yang akan dirujuk dalam lembaran styles tanpa kelas induk. Ini bermakna walaupun objek dalam OOCSS dapat dipermodalkan. Perbezaannya adalah mudah; Apa -apa sahaja yang dipermodalkan dalam lembaran gaya tidak boleh digunakan lagi.
Berikut adalah contoh bagaimana markup akan kelihatan apabila menggunakan tajuk CSS:
<span><span><span><div</span> class<span>="block block--modifier"</span>></span> </span> <span><span><span><p</span> class<span>="block__element"</span>></span> </span><span><span><span></div</span>></span></span>
Dan inilah cara CSS yang sepadan akan kelihatan:
<span><span><span><div</span> class<span>="Title isModified"</span>></span> </span> <span><span><span><p</span> class<span>="descendant"</span>></span> </span><span><span><span></div</span>></span></span>
Pengenal blok atau kelas "tajuk" membuat skop untuk semua kelas keturunan dalam blok. Kelas keturunan boleh diulangi dalam blok tajuk lain tanpa perlanggaran gaya.
Ini tidak penting bagi metodologi untuk berfungsi tetapi kerana nama kelas HTML adalah kes-sensitif, "tajuk" kelas juga bebas diulang sebagai kelas keturunan.
Dengan metodologi tajuk CSS, anda akan melihat manfaat berikut:
Tajuk CSS mungkin mempunyai masalah apabila anda menggunakan blok tajuk untuk mengandungi blok lain. Sekiranya blok tajuk yang mengandungi mempunyai kelas pemilih keturunan yang sama sebagai satu yang sampulnya akan ada konflik, di mana anda harus menggunakan kombinator kanak -kanak dalam blok tajuk yang bertindak sebagai bekas.
Untuk menunjukkan isu ini, di bawah adalah beberapa markup sampel dengan masalah yang hadir:
<span><span>.Title</span> {} </span> <span><span>.Title.isModified</span> {} </span> <span><span>.Title .descendant</span> {}</span>
dan CSS yang disertakan:
<span><span><span><div</span> class<span>="Container"</span>></span> </span> <span><span><span><header</span> class<span>="header"</span>></span><span><span></header</span>></span> </span> <span><span><span><main</span> class<span>="body"</span>></span> </span> <span><span><span><section</span> class<span>="Title"</span>></span> </span> <span><span><span><div</span> class<span>="header"</span>></span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="body"</span>></span><span><span></div</span>></span> </span> <span><span><span></section</span>></span> </span> <span><span><span><section</span> class<span>="Title"</span>></span> </span> <span><span><span><div</span> class<span>="header"</span>></span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="body"</span>></span><span><span></div</span>></span> </span> <span><span><span></section</span>></span> </span> <span><span><span></main</span>></span> </span><span><span><span></div</span>></span></span>
Perhatikan bahawa gaya yang digunakan untuk unsur -unsur. Header dan. Untuk mengelakkan ini, inilah penyelesaiannya:
<span><span>.Container</span> {} </span> <span><span>.Container .header</span> {} </span> <span><span>.Container .body</span> {} </span><span><span>.Title</span> {} </span> <span><span>.Title .header</span> {} </span> <span><span>.Title .body</span> {}</span>
Dengan pemilih yang menggunakan Combinator Child (>), gaya akan digunakan hanya untuk anak -anak langsung, dan bukan kepada unsur -unsur bersarang yang lebih lanjut yang mempunyai nama kelas yang sama.
Pra-pemproses menyediakan cara terbaik untuk menulis tajuk CSS. Keupayaan bersarang membolehkan anda mengenal pasti blok tajuk dengan mudah dalam lembaran styleshe.
Berikut adalah tajuk CSS Contoh dalam SCSS:
<span><span><span><div</span> class<span>="block block--modifier"</span>></span> </span> <span><span><span><p</span> class<span>="block__element"</span>></span> </span><span><span><span></div</span>></span></span>
sebagai BEM, SMACSS, dan OOCSS akan mencadangkan, adalah penting untuk mengekalkan blok atau modul kecil. Terdapat manfaat prestasi dan penyelenggaraan untuk memasukkan hanya elemen yang berkait rapat dengan kelas tajuk.
Jika anda mempunyai apa -apa pemerhatian atau maklum balas mengenai tajuk CSS, saya gembira mendengarnya dalam komen. Dan jika anda ingin mendapatkan lebih banyak maklumat atau ingin bekerjasama, pastikan anda menyemak GitHub Repo untuk Tajuk CSS.
tajuk CSS dan penamaan kelas adalah aspek penting dalam pembangunan web. Ia membantu dalam mengatur kod CSS anda, menjadikannya lebih mudah untuk dibaca, memahami, dan mengekalkan. Konvensyen penamaan yang betul juga boleh meningkatkan kecekapan pemilih CSS anda, menjadikan halaman web anda lebih cepat. Selain itu, ia membantu dengan kerjasama kerana ia memberikan pemahaman yang jelas tentang kod tersebut kepada pemaju lain.
hover ke atas saya
Amalan terbaik untuk menamakan kelas CSS adalah menggunakan nama yang bermakna dan deskriptif. Elakkan menggunakan pembentangan atau perkataan khusus lokasi. Sebaliknya, gunakan nama yang mencerminkan tujuan atau kandungan elemen. Juga, gunakan tanda hubung untuk memisahkan kata -kata dalam nama kelas dan simpan nama -nama yang mungkin. Walau bagaimanapun, secara amnya disyorkan untuk mengelakkan menggunakan aksara khas kerana mereka boleh membuat kod anda lebih sukar untuk dibaca dan difahami.
Bolehkah saya menggunakan nombor dalam nama kelas CSS? Watak pertama mestilah huruf, tanda hubung, atau garis bawah. Sebagai contoh,
Atas ialah kandungan terperinci Tajuk CSS: Pendekatan Ringkas untuk Penamaan Kelas CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!