国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
BEM到底是什麼?
如何用BEM構(gòu)造CSS
使用BEM時(shí)避免的常見(jiàn)錯(cuò)誤
當(dāng)不使用bem
首頁(yè) web前端 css教學(xué) BEM編寫(xiě)可擴(kuò)展CSS教程的方法

BEM編寫(xiě)可擴(kuò)展CSS教程的方法

Jul 03, 2025 am 01:47 AM

BEM是CSS命名約定,通過(guò)在塊,元素和修飾符周?chē)鷺?gòu)造類(lèi)名稱(chēng)來(lái)提高可擴(kuò)展性和可維護(hù)性。 1)塊是獨(dú)立組件。 2)元素是特定於塊的兒童。 3)修飾符表示變化。班級(jí)名稱(chēng)遵循.block__Element-模型模式。避免深入嵌套元素,將元素重複使用元素或鏈修飾符。 BEM是大型項(xiàng)目的理想選擇,但對(duì)於較小的項(xiàng)目或使用範(fàn)圍的CSS解決方案可能是不需要的。

BEM編寫(xiě)可擴(kuò)展CSS教程的方法

當(dāng)您處理大型網(wǎng)站或應(yīng)用程序時(shí),保持CSS的井井有條可能會(huì)變得凌亂。這就是BEM進(jìn)入的地方 - 這是一項(xiàng)命名慣例,可幫助您編寫(xiě)可擴(kuò)展和可維護(hù)的CSS,尤其是在團(tuán)隊(duì)或長(zhǎng)期項(xiàng)目工作時(shí)。

BEM編寫(xiě)可擴(kuò)展CSS教程的方法

BEM的核心思想是將UI分為獨(dú)立的塊,每個(gè)塊都有其自身的元素和可能的變化(修飾符)。它使您的代碼更容易預(yù)測(cè),並且更易於調(diào)試。

BEM編寫(xiě)可擴(kuò)展CSS教程的方法

讓我們分解如何在現(xiàn)實(shí)生活中實(shí)際使用BEM。


BEM到底是什麼?

BEM代表塊元素修飾符。這不是框架或工具,而是一種命名CSS類(lèi)的方法,因此您(和其他人)可以通過(guò)查看其類(lèi)名來(lái)理解HTML元素之間的關(guān)係。

BEM編寫(xiě)可擴(kuò)展CSS教程的方法

這是每個(gè)部分的含義:

  • :可以在任何地方重複使用的獨(dú)立組件。想想按鈕,菜單或卡片之類(lèi)的東西。
  • 元素:無(wú)法在其之外使用的塊的一部分。例如,菜單塊中的菜單項(xiàng)。
  • 修飾符:用於指示塊或元素的不同狀態(tài)或變化的標(biāo)誌。就像“禁用”按鈕或“黑暗”主題變化。

因此,典型的BEM類(lèi)看起來(lái)像這樣: .block__element--modifier 。

起初可能會(huì)感覺(jué)到冗長(zhǎng),但是一旦您開(kāi)始縮放,冗長(zhǎng)就變得清晰了。


如何用BEM構(gòu)造CSS

首先識(shí)別UI中的塊。這些應(yīng)該是獨(dú)立的組成部分。一旦獲得了一個(gè)塊,任何依賴(lài)塊的子元素都應(yīng)使用雙下劃線( __ )命名。

例如,如果您有一個(gè)稱(chēng)為nav-bar的導(dǎo)航欄塊,則其中一個(gè)單獨(dú)的鏈接將是nav-bar__link 。如果您想設(shè)計(jì)該鏈接的特殊版本(也許是一個(gè)突出顯示的鏈接),則將使用諸如nav-bar__link--active 。

一些實(shí)用技巧:

  • 避免深築巢。當(dāng)您保持結(jié)構(gòu)平坦時(shí),BEM效果最好。
  • 不要連鎖修飾符。每個(gè)班級(jí)名稱(chēng)僅使用一個(gè)--modifier
  • 保持塊名稱(chēng)簡(jiǎn)短但描述性。 user-carducrd更好。
  • 堅(jiān)持小寫(xiě)和連字符,以獲得可讀性。

這種結(jié)構(gòu)使您可以輕鬆搜索您的樣式表並了解它們影響的UI的哪些部分。


使用BEM時(shí)避免的常見(jiàn)錯(cuò)誤

即使是經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員,有時(shí)也沒(méi)有意識(shí)到BEM。這是一些常見(jiàn)的陷阱:

  • 在其塊上下文之外使用元素
    元素屬於特定塊。如果您在其他地方重用.block__element ,則可能不應(yīng)該是一個(gè)元素 - 考慮使其成為單獨(dú)的塊。

  • 築巢元素太深
    類(lèi)似.block__element__sub-element打破了BEM概念。相反,將塊下的子元素組成相同級(jí)別的一部分或創(chuàng)建一個(gè)新塊。

  • 錯(cuò)誤地使用修飾符
    修飾符只能改變外觀或行為。不要使用它們來(lái)表示不同的塊。如果看起來(lái)完全不同,那不是一個(gè)變化 - 這是一個(gè)新塊。

  • 將BEM與實(shí)用程序混合
    如果您使用的是公用設(shè)施優(yōu)先的方法(例如尾風(fēng)),則BEM可能不太合適。選擇一種策略並堅(jiān)持下去以保持一致性。

正確地練習(xí)了bem,但是儘早避免這些錯(cuò)誤將使您稍後免於混亂。


當(dāng)不使用bem

儘管BEM非常適合大型項(xiàng)目,但對(duì)於較小的站點(diǎn)或原型來(lái)說(shuō),它可能過(guò)於殺傷。如果您要構(gòu)建一頁(yè)站點(diǎn)或小型著陸頁(yè),則更簡(jiǎn)單的命名約定(例如SMACSS甚至沒(méi)有嚴(yán)格的系統(tǒng))可能會(huì)很好。

另外,如果您在VUE等框架或與模塊或scoped樣式中使用CSS-In-JS庫(kù)或範(fàn)圍的樣式,則某些BEM原理可能不會(huì)直接適用。

在這種情況下,BEM的主要好處(避免命名衝突)已經(jīng)由工具處理,因此您可以簡(jiǎn)化命名。


基本上,BEM為您提供了編寫(xiě)可擴(kuò)展CSS的清晰結(jié)構(gòu)。它沒(méi)有執(zhí)行任何造型規(guī)則,只是命名規(guī)則,這足以在可維護(hù)性上產(chǎn)生很大的影響。

以上是BEM編寫(xiě)可擴(kuò)展CSS教程的方法的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

Laravel 教程
1600
29
PHP教程
1502
276
CSS教程,用於創(chuàng)建加載旋轉(zhuǎn)器和動(dòng)畫(huà) CSS教程,用於創(chuàng)建加載旋轉(zhuǎn)器和動(dòng)畫(huà) Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過(guò)HTML和CSS實(shí)現(xiàn)簡(jiǎn)單動(dòng)畫(huà);2.使用多個(gè)點(diǎn)的自定義旋轉(zhuǎn)器,通過(guò)不同延遲時(shí)間實(shí)現(xiàn)跳動(dòng)效果;3.在按鈕中添加旋轉(zhuǎn)器,通過(guò)JavaScript切換類(lèi)來(lái)顯示加載狀態(tài)。每種方法都強(qiáng)調(diào)了設(shè)計(jì)細(xì)節(jié)如顏色、大小、可訪問(wèn)性和性能優(yōu)化的重要性,以提升用戶(hù)體驗(yàn)。

解決CSS瀏覽器兼容性問(wèn)題和前綴 解決CSS瀏覽器兼容性問(wèn)題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問(wèn)題需理解瀏覽器支持差異並合理使用廠商前綴。 1.了解常見(jiàn)問(wèn)題如Flexbox、Grid支持不一,position:sticky失效,動(dòng)畫(huà)表現(xiàn)不同;2.查閱CanIuse確認(rèn)特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動(dòng)添加前綴;5.安裝PostCSS並配置browserslist指定目標(biāo)瀏覽器;6.構(gòu)建時(shí)自動(dòng)處理兼容性;7.老項(xiàng)目可用Modernizr檢測(cè)特性;8.不必追求所有瀏覽器一致,確

顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什麼區(qū)別? 顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什麼區(qū)別? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizo????ntalpadding/margins—idealforinlinetextstyling

造型與CSS不同訪問(wèn)的鏈接 造型與CSS不同訪問(wèn)的鏈接 Jul 11, 2025 am 03:26 AM

設(shè)置訪問(wèn)過(guò)鏈接的樣式能提升用戶(hù)體驗(yàn),尤其在內(nèi)容密集型網(wǎng)站中幫助用戶(hù)更好導(dǎo)航。 1.使用CSS的:visited偽類(lèi)可定義已訪問(wèn)鏈接樣式,如顏色變化;2.注意瀏覽器出於隱私限制僅允許修改部分屬性;3.顏色選擇應(yīng)與整體風(fēng)格協(xié)調(diào),避免突兀;4.移動(dòng)端可能不顯示該效果,建議結(jié)合其他視覺(jué)提示如icon輔助標(biāo)識(shí)。

使用CSS剪輯路徑創(chuàng)建自定義形狀 使用CSS剪輯路徑創(chuàng)建自定義形狀 Jul 09, 2025 am 01:29 AM

使用CSS的clip-path屬性可以裁剪元素為自定義形狀,如三角形、圓形缺口、多邊形等,無(wú)需依賴(lài)圖片或SVG。其優(yōu)勢(shì)包括:1.支持circle、ellipse、polygon等多種基本形狀;2.可響應(yīng)式調(diào)整,適配移動(dòng)端;3.易於動(dòng)畫(huà)化,可結(jié)合hover或JavaScript實(shí)現(xiàn)動(dòng)態(tài)效果;4.不影響佈局流,僅裁剪顯示區(qū)域。常見(jiàn)用法如圓形裁剪clip-path:circle(50pxatcenter)和三角形裁剪clip-path:polygon(50%0%,1000%,00%)。注意

如何使用CSS創(chuàng)建響應(yīng)式圖像? 如何使用CSS創(chuàng)建響應(yīng)式圖像? Jul 15, 2025 am 01:10 AM

要使用CSS創(chuàng)建響應(yīng)式圖片,主要可通過(guò)以下方法實(shí)現(xiàn):1.使用max-width:100%和height:auto讓圖片在保持比例的同時(shí)自適應(yīng)容器寬度;2.結(jié)合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控製圖片裁剪與焦點(diǎn)展示。這些方法共同確保圖片在不同設(shè)備上清晰、美觀地呈現(xiàn)。

揭開(kāi)CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 揭開(kāi)CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 Jul 08, 2025 am 02:16 AM

CSS單位的選擇取決於設(shè)計(jì)需求和響應(yīng)式要求。 1.px用於固定尺寸,適合精確控制但缺乏彈性;2.em是相對(duì)單位,受父元素影響易導(dǎo)致級(jí)聯(lián)問(wèn)題,rem則基於根元素更穩(wěn)定,適合全局縮放;3.vw/vh基於視口大小,適合響應(yīng)式設(shè)計(jì),但需注意極端屏幕下的表現(xiàn);4.選擇時(shí)應(yīng)根據(jù)是否需要響應(yīng)式調(diào)整、元素層級(jí)關(guān)係及視口依賴(lài)程度來(lái)決定,合理搭配使用可提升佈局靈活性與維護(hù)性。

什麼是常見(jiàn)的CSS瀏覽器不一致? 什麼是常見(jiàn)的CSS瀏覽器不一致? Jul 26, 2025 am 07:04 AM

不同瀏覽器對(duì)CSS解析存在差異,導(dǎo)致顯示效果不一致,主要包括默認(rèn)樣式差異、盒模型計(jì)算方式、Flexbox和Grid佈局支持程度及某些CSS屬性行為不一致。 1.默認(rèn)樣式處理不一致,解決方法是使用CSSReset或Normalize.css統(tǒng)一初始樣式;2.舊版IE的盒模型計(jì)算方式不同,建議統(tǒng)一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現(xiàn)有差異,應(yīng)多測(cè)試並使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse並提供降級(jí)

See all articles