bem (pengubahsuaian blok-elemen) adalah metodologi pembangunan front-end, konvensyen penamaan, dan satu set alat yang berkaitan. Berasal dari Yandex, ia direka untuk pembangunan yang cekap oleh pasukan besar. Penjelasan ini memberi tumpuan kepada konsep teras dan sistem penamaan.
BEM mempromosikan laman web tontonan sebagai koleksi blok komponen yang boleh diguna semula, boleh digabungkan untuk membina antara muka. Blok adalah bahagian laman web (header, footer, sidebar, dll.), Seperti yang ditunjukkan dalam Rajah 2.3. Perhatikan bahawa "blok" di sini merujuk kepada segmen halaman HTML.
Blok boleh bersarang. Sebagai contoh, blok tajuk mungkin mengandungi logo, navigasi, dan blok borang carian (Rajah 2.4). Footer boleh mengandungi blok sitemap.
unsur -unsur lebih berbutir daripada blok. Seperti yang dinyatakan oleh dokumentasi BEM: "Satu elemen adalah sebahagian daripada blok yang melakukan fungsi tertentu. Unsur-unsur yang bergantung kepada konteks, mereka hanya masuk akal dalam blok induk mereka."
Blok borang carian, misalnya, termasuk elemen input teks dan elemen butang hantar (Rajah 2.5). Di sini, "elemen" merujuk kepada elemen reka bentuk, bukan elemen HTML.
Blok kandungan utama mungkin mengandungi blok senarai artikel, yang seterusnya mengandungi blok promo artikel. Setiap blok promo boleh mempunyai imej, petikan, dan "baca lebih lanjut" elemen (Rajah 2.6).
blok dan elemen membentuk teras konvensyen penamaan BEM:
- Nama blok mestilah projek yang unik.
- nama elemen mestilah unik dalam blok.
- variasi blok (mis., Kotak carian gelap) Gunakan pengubah dalam nama kelas.
Blok dan nama elemen dipisahkan oleh dua garis bawah (__
). Pengubahsuaian dipisahkan dari nama blok/elemen oleh dua tanda hubung (--
<div class="search"> <div class="search__wrapper"> <label for="s" class="search__label">Search for:</label> <input type="text" id="s" class="search__input" /> <input type="submit" class="search__submit" value="Search" /> </div> </div>Versi bertema gelap:
<div class="search search--inverse"> <div class="search__wrapper search__wrapper--inverse"> <label for="s" class="search__label search__label--inverse">Search for:</label> <input type="text" id="s" class="search__input search__input--inverse" /> <input type="submit" class="search__submit search__submit--inverse" value="Search" /> </div> </div>CSS yang sepadan:
<div class="search"> <div class="search__wrapper"> <label for="s" class="search__label">Search for:</label> <input type="text" id="s" class="search__input" /> <input type="submit" class="search__submit" value="Search" /> </div> </div>
dalam markup dan CSS, search--inverse
dan search__label--inverse
adalah ditambah kelas, bukan pengganti. Hanya pemilih kelas yang digunakan; Pemilih kanak -kanak dan keturunan dibenarkan tetapi juga harus menargetkan kelas. Elemen dan pemilih ID dielakkan. Ini menjadikan spesifikasi pemilih rendah, menghalang kesan sampingan, dan menjadikan CSS bebas daripada corak markup. Blok unik dan nama elemen menghalang konflik penamaan. Manfaat termasuk:
- Pembacaan dan pemahaman kod yang lebih baik untuk ahli pasukan baru.
- Peningkatan produktiviti pasukan.
- Mengurangkan perlanggaran penamaan dan kesan sampingan.
- kemerdekaan CSS dari markup.
- kebolehgunaan semula CSS tinggi.
(bahagian Soalan Lazim ditinggalkan kerana ia adalah pengulangan maklumat yang sudah ada dan akan meningkatkan panjang output tanpa menambah kandungan baru.)
Atas ialah kandungan terperinci CSS Architecture Block-Element-Modifier (BEM)-SITEPOINT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordetailedanimationseSseSeSs, whileCstransitionShandlesImplestateShanges.usecsstransitionsforhovereffectsLikeButtonColorchanges, dan@keyframesforintricateanimation.

Saya tahu, saya tahu: terdapat satu tan pilihan sistem pengurusan kandungan yang tersedia, dan sementara saya telah menguji beberapa, tidak ada yang benar -benar menjadi satu, y ' tahu? Model harga pelik, penyesuaian yang sukar, sesetengahnya akhirnya menjadi keseluruhan &

Menghubungkan fail CSS ke HTML boleh dicapai dengan menggunakan unsur -unsur dalam sebahagian HTML. 1) Gunakan tag untuk menghubungkan fail CSS tempatan. 2) Pelbagai fail CSS boleh dilaksanakan dengan menambahkan beberapa tag. 3) Fail CSS luaran menggunakan pautan URL mutlak, seperti. 4) Pastikan penggunaan laluan fail yang betul dan pesanan pemuatan fail CSS, dan mengoptimumkan prestasi boleh menggunakan preprocessor CSS untuk menggabungkan fail.

Memilih Flexbox atau Grid bergantung kepada keperluan susun atur: 1) Flexbox sesuai untuk susun atur satu dimensi, seperti bar navigasi; 2) Grid sesuai untuk susun atur dua dimensi, seperti susun atur majalah. Kedua -duanya boleh digunakan dalam projek untuk meningkatkan kesan susun atur.

Cara terbaik untuk memasukkan fail CSS adalah menggunakan tag untuk memperkenalkan fail CSS luaran di bahagian HTML. 1. Gunakan tag untuk memperkenalkan fail CSS luaran, seperti. 2. Untuk pelarasan kecil, css sebaris boleh digunakan, tetapi harus digunakan dengan berhati -hati. 3. Projek besar boleh menggunakan preprocessors CSS seperti SASS atau kurang untuk mengimport fail CSS lain melalui @import. 4. Untuk prestasi, fail CSS harus digabungkan dan CDN harus digunakan, dan dimampatkan menggunakan alat seperti CSSNANO.

Ya, youdyhouldlearnbothflexboxandgrid.1) flexboxisidealforone-dimensi, flexiblelayoutslikenavigasiMenus.2)

Apa yang kelihatan seperti refactor kod anda sendiri? John Rhea memisahkan animasi CSS lama yang dia tulis dan berjalan melalui proses pemikiran mengoptimumkannya.

Csanimationsarenotinherenthardbutrequirepracticeandundunderpanderofcsspropertiesandtimingfunctions.1) startwithsimpleanimationslikescalingabuttonhoverusingkeyframes.2)


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

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

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.

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
