1.ID Rules
2.Class Rules
3. Tag Rules
4. General Rules
Pemahaman umum tentang kecekapan datang daripada "Pembinaan Laman Web Berprestasi Tinggi" yang diterbitkan oleh Steve Souders dalam 2009 Bermula dengan "Panduan Lanjutan", walaupun buku itu menyenaraikannya dengan lebih terperinci, anda juga boleh melihat senarai rujukan lengkap di sini, atau anda boleh melihat butiran lanjut dalam "Amalan Terbaik untuk Pemilih CSS Cekap" Google.
Dalam artikel ini saya ingin berkongsi beberapa contoh dan garis panduan mudah yang saya gunakan dalam menulis CSS berprestasi tinggi. Ini diilhamkan oleh panduan CSS cekap yang ditulis oleh MDN dan mengikut format yang serupa.
1. Elakkan sekatan yang berlebihan
Peraturan am, jangan tambah kekangan yang tidak perlu.
// Oops
ul#someid {.. }
.menu#otherid{..}
// Okay
#someid {..}
#otherid {..}
2. Pemilih turunan adalah yang paling teruk
Bukan sahaja prestasinya rendah, tetapi kodnya juga rapuh perubahan struktur kod html, CSS juga mesti diubah suai Betapa buruknya ini, terutamanya dalam syarikat besar, orang yang menulis HTML dan CSS selalunya bukan orang yang sama.
// Memang payah
html div tr td {..}
3. Elakkan pemilih rantai (persimpangan)
Ini adalah serupa dengan situasi kekangan yang berlebihan Pendekatan yang lebih wajar adalah dengan hanya mencipta pemilih kelas CSS yang baharu.
// Op
.menu. left.icon {..}
// Okay
.menu-left-icon {..}
4. Patuhi prinsip KISS
Bayangkan kami mempunyai DOM berikut:
Berikut ialah peraturan yang sepadan...
// Op
#navigator li a {..}
// Okay
#navigator {..}
5 Gunakan sintaks kompaun (padat)
Gunakan sintaks kompaun apabila boleh.
// Oops
.someclass {
padding-top: 20px;
padding-bottom: 20px;
padding-left: 10px;
padding-right: 10px;
background: #000;
background-image : url( ../imgs/carrot.png);
latar belakang-kedudukan: bawah;
latar belakang-ulang: ulang-x;
}
// Okay
. someclass {
padding: 20px 10px 20px 10px;
latar belakang: #000 url(../imgs/carrot.png) repeat-x bawah;
}
6. Elakkan ruang nama yang tidak diperlukan
// Op
.someclass table tr.otherclass td.somerule {..}
//Okay
.someclass .otherclass td.somerule {.. }
7. Elakkan pengulangan yang tidak perlu
Gabungkan peraturan berulang sebanyak mungkin.
// Op
.someclass {
warna: merah;
latar belakang: biru;
saiz fon: 15px;
}
.kelas lain {
warna: merah;
latar belakang: biru;
saiz fon: 15px;
}
// Okay
.someclass, . kelas lain {
warna: merah;
latar belakang: biru;
saiz fon: 15px;
}
Perkemaskan peraturan sebanyak mungkin
Berdasarkan peraturan di atas, anda boleh menggabungkan peraturan berulang lagi dalam kategori berbeza.
// Oops
.someclass {
warna: merah;
latar belakang: biru;
tinggi: 150px;
lebar: 150px;
saiz fon: 16px;
}
.kelas lain {
warna: merah;
latar belakang: biru;
tinggi: 150px;
lebar: 150px;
saiz fon: 8px;
}
// Okay
.someclass, .otherclass {
warna: merah;
latar belakang: biru;
tinggi: 150px;
lebar: 150px;
}
.someclass {
saiz fon: 16px;
}
.kelas lain {
saiz fon: 8px;
}
9 kekaburan Konvensyen penamaan
adalah yang terbaik untuk menggunakan nama semantik. Nama kelas CSS yang baik harus menerangkan sifatnya dan bukannya rupanya.
10 Elakkan !penting
Malah, anda juga sepatutnya boleh menggunakan pemilih berkualiti tinggi yang lain.
11 Ikut perintah pengisytiharan standard
Walaupun terdapat beberapa cara biasa untuk mengatur susunan sifat CSS, di bawah ialah cara popular yang saya ikuti.
.someclass {
/* Kedudukan */
/* Model Paparan & Kotak */
/* Gaya latar belakang dan tipografi */
/* Peralihan */
/* Lain-lain */
}
12. Format kod yang teratur
Kebolehbacaan kod adalah berkadar terus dengan kemudahan kebolehselenggaraan. Di bawah adalah kaedah pemformatan yang saya ikuti.
// Oops
.someclass- a, . someclass-b, .someclass-c, .someclass-d {
...
}
// Okay
.someclass-a,
.someclass- b,
.someclass-c,
.someclass-d {
...
}
// Amalan baik
.someclass {
imej latar belakang :
Linear-Gradient ( #000, #ccc),
Linear-Gradient (#CCC, #DDD); 1px 1px 1px #ddd inset;
}
Jelas sekali, ini hanyalah segelintir peraturan yang saya cuba ikuti dalam CSS saya sendiri untuk menjadi lebih cekap dan boleh diselenggara. Jika anda ingin membaca lebih lanjut, saya syorkan membaca Panduan MDN untuk Menulis CSS Cekap dan Panduan Google untuk Mengoptimumkan Rendering Penyemak Imbas.

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.

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.

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 '

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.

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

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.

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.

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


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
