cari
Rumahhujung hadapan webtutorial cssBagaimana saya menulis pemilih CSS

How I write CSS selectors

Terdapat banyak metodologi CSS di luar sana, dan saya benci semuanya. Ada yang lebih (tailwind & al.) dan ada yang kurang (BEM, OOCSS, dll.). Tetapi pada penghujung hari, mereka semua mempunyai kelemahan.

Orang ramai menggunakan pendekatan ini untuk alasan yang baik, sudah tentu, dan banyak masalah yang ditangani adalah yang saya juga hadapi. Jadi dalam siaran ini, saya ingin menulis garis panduan saya sendiri tentang cara saya memastikan CSS teratur.

Ini bukan metodologi CSS yang diterangkan sepenuhnya yang boleh digunakan oleh sesiapa sahaja. Mungkin ia boleh diubah menjadi satu dengan beberapa kerja tambahan, tetapi tujuan siaran ini hanyalah untuk menunjukkan cara saya membuat keputusan ini semasa menulis CSS.

Elemen Terbina

Sebagai peraturan biasa, saya cuba menggunakan jenis elemen terbina sebanyak mungkin dan dengan sedikit tambahan yang mungkin.

Memiliki keperluan untuk seribu jenis butang yang berbeza adalah tanda bahawa mungkin terdapat sesuatu yang tidak kena dengan reka bentuk pada tahap yang lebih mendalam, jadi sementara dalam beberapa kes saya mendapat daya tarikan CSS menjadi lengai sehingga kelas khusus rangka kerja digunakan , dalam kebanyakan kes saya melihatnya sebagai ideal apabila butang hanyalah Klik Saya! dan kelihatan seperti butang tanpa sebarang keajaiban lagi.

div.btton sepatutnya bertukar menjadi butang

Elemen Tersuai

Bukan semua elemen reka bentuk mempunyai padanan HTML yang sesuai secara semantik dan untuk kes ini, saya biasanya menggunakan elemen tersuai.

Saya tidak pernah melihat banyak contoh nama elemen tersuai digunakan tanpa sebarang javascript yang disertakan, tetapi ia telah terbukti sebagai pilihan yang sangat kukuh untuk menulis HTML yang jelas yang juga kelihatan seperti yang saya mahukan.

Elemen yang sepenuhnya berasingan dari segi reka bentuk juga lebih berkemungkinan, dari masa ke masa, membangunkan keperluan yang hanya boleh dilaksanakan dengan JavaScript, yang memberikan anda laluan yang jelas untuk melaksanakan perkara yang tidak memerlukan sebarang perubahan dalam HTML mahupun CSS.

div.vsep sepatutnya bertukar menjadi pemisah menegak

Kelas

Kelas harus berfungsi sebagai pengubah suai nama nod sedia ada, bukannya jenis elemen baharu sepenuhnya, dan selalunya mempunyai kesan yang serupa tetapi berbeza pada jenis elemen yang berbeza.

Butang berbahaya ialah butang.bahaya

Atribut

Sesetengah cara mengubah suai elemen bukanlah suis hidup/mati yang mudah yang kelas berguna, tetapi berkelakuan lebih seperti pasangan nilai kunci.

Dalam kes ini, atribut tersuai dengan pemilih yang sepadan telah terbukti sebagai pilihan terbaik hampir setiap kali saya menggunakannya. Tidak seperti kelas sempang, kelas tersebut dipaparkan pada peringkat sintaks iaitu atribut dan nilai, menjadikannya lebih mudah untuk editor menyerlahkannya, lebih mudah untuk mata manusia menghuraikan dengan cepat dan lebih mudah untuk antara muka menggunakan JavaScript.

Bagi kita yang masih menaruh harapan bahawa fungsi attr() mungkin suatu hari nanti akan memasuki CSS untuk lebih daripada sekadar kandungan, ini juga merupakan lapisan tambahan kalis masa hadapan.

ID

ID adalah, mengikut definisi, unik di dalam dokumen. Oleh itu, sebarang peraturan yang menyasarkan ID tertentu akan dihadkan dan mungkin memerlukan pemfaktoran semula jika kemudiannya ternyata terdapat lebih daripada satu elemen jenis ini pada lage selepas semua.

Oleh itu, ID hendaklah digunakan dengan berhati-hati dan hanya apabila tidak masuk akal untuk mempunyai lebih daripada satu elemen dalam satu dokumen.

Faedah berbanding kelas dari segi praktikal dan kebolehbacaan agak kecil, jadi kesilapan di sebelah kelas biasanya merupakan idea terbaik apabila tiada hubungan 1-dengan-1 yang jelas antara elemen dan penggayaan dapat dikenal pasti.

CSS sebaris

Mana-mana aplikasi dunia sebenar pada satu ketika akan mempunyai elemen yang hanya memerlukan pengubahsuaian individu untuk menjadikannya lebih menarik dari segi estetika dalam konteks yang muncul.

Dalam kes ini, atribut gaya ialah cara yang perlu dilakukan. Sebarang sebab mengapa menggunakannya dianggap sebagai amalan buruk terpakai pada sebarang jenis penggayaan sebaris, termasuk kelas utiliti. Masalahnya bukan atribut, ia mencampurkan penggayaan dan markup.

Satu perbezaan antara gaya dan kelas untuk gaya sebaris ialah satu menunjukkan tujuan, membenarkan penggunaan CSS biasa dan kebanyakannya universal, manakala satu lagi tidak.

Ringkasnya, lebar: 100px mempunyai makna yang ditakrifkan secara universal, manakala .width-100 boleh bermakna apa sahaja.

Kelas Utiliti

Dalam keadaan yang sangat jarang berlaku, gaya khusus unsur menjadi sangat rumit sehingga menyelitkannya secara eksplisit akan membahayakan kebolehbacaan, atau bahkan mustahil (contohnya jika ia memerlukan pertanyaan media).

Dalam kes ini, kelas utiliti pada asasnya adalah satu-satunya pilihan, walaupun ia hodoh.

Dalam dunia yang ideal, ini boleh dikendalikan secara berasingan daripada kelas campuran tertentu, malah saya telah mempertimbangkan untuk menggunakan awalan untuk membezakannya dengan lebih mudah, tetapi akhirnya tidak menemui cara yang baik untuk menjadikannya tidak hodoh.

Saya suka idea untuk menetapkan awalan kelas utiliti dengan + untuk mewakili bahawa mereka menambah beberapa jenis fungsi pada elemen, berbeza dengan kelas biasa, yang menentukan jenis elemen.


Dan itu sahaja mengenainya. Sudah tentu, tiada dua projek adalah sama, dan kadangkala peraturan perlu dibengkokkan sedikit untuk kekal praktikal, tetapi secara keseluruhan, itulah rangka kerja saya untuk memutuskan cara membuat sesuatu pada skrin kelihatan seperti cara tertentu.

Apakah pendapat anda? Adakah anda membencinya? Adakah anda fikir ia masuk akal? Beritahu saya dalam ulasan ?

Atas ialah kandungan terperinci Bagaimana saya menulis pemilih CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Helah CSS yang hilang cohost.orgHelah CSS yang hilang cohost.orgApr 25, 2025 am 09:51 AM

Dalam jawatan ini, Blackle Mori menunjukkan kepada anda beberapa hacks yang ditemui semasa cuba menolak had sokongan HTML Cohost. Gunakan ini jika anda berani, supaya anda juga dilabelkan sebagai penjenayah CSS.

Gaya CSS peringkat seterusnya untuk kursorGaya CSS peringkat seterusnya untuk kursorApr 23, 2025 am 11:04 AM

Kursor adat dengan CSS adalah hebat, tetapi kita boleh mengambil sesuatu ke peringkat seterusnya dengan JavaScript. Menggunakan JavaScript, kita boleh beralih antara negeri kursor, letakkan teks dinamik dalam kursor, gunakan animasi kompleks, dan gunakan penapis.

Dunia bertembung: Pengesanan Perlanggaran Kerangka Key menggunakan pertanyaan gayaDunia bertembung: Pengesanan Perlanggaran Kerangka Key menggunakan pertanyaan gayaApr 23, 2025 am 10:42 AM

Animasi CSS interaktif dengan unsur -unsur yang menghilangkan satu sama lain kelihatan lebih masuk akal pada tahun 2025. Walaupun tidak perlu untuk melaksanakan pong dalam CSS, peningkatan fleksibiliti dan kuasa CSS mengukuhkan kecurigaan Lee '

Menggunakan penapis latar belakang CSS untuk kesan UIMenggunakan penapis latar belakang CSS untuk kesan UIApr 23, 2025 am 10:20 AM

Petua dan cara untuk menggunakan harta penapis latar belakang CSS ke antara muka pengguna gaya. Anda akan belajar bagaimana untuk meletakkan penapis latar belakang di antara pelbagai elemen, dan mengintegrasikannya dengan kesan grafik CSS yang lain untuk membuat reka bentuk yang rumit.

SMIL ON?SMIL ON?Apr 23, 2025 am 09:57 AM

Nah, ternyata ciri-ciri animasi terbina dalam SVG ' s tidak pernah ditamatkan seperti yang dirancang. Pasti, CSS dan JavaScript lebih mampu membawa beban, tetapi ia baik untuk mengetahui bahawa SMIL tidak mati di dalam air seperti sebelumnya

'Cantik' berada di mata penonton'Cantik' berada di mata penontonApr 23, 2025 am 09:40 AM

Yay, let ' s melompat untuk teks-wrap: Pretty Landing dalam Pratonton Teknologi Safari! Tetapi berhati -hatilah bahawa ia ' s berbeza dari bagaimana ia berfungsi dalam pelayar kromium.

CSS-Tricks Chronicles XLIIICSS-Tricks Chronicles XLIIIApr 23, 2025 am 09:35 AM

Kemas kini trik CSS ini menyoroti kemajuan yang ketara dalam almanak, penampilan podcast baru-baru ini, panduan kaunter CSS baru, dan penambahan beberapa penulis baru yang menyumbang kandungan berharga.

Ciri tailwind ' s @ply lebih baik daripada bunyiCiri tailwind ' s @ply lebih baik daripada bunyiApr 23, 2025 am 09:23 AM

Kebanyakan masa, orang mempamerkan ciri-ciri Tailwind ' Apabila dipamerkan dengan cara ini, @apply tidak menjanjikan sama sekali. Jadi obvio

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual