BEM代表 “塊(block),元素(element),修飾符(modifier)”。
好處:
擺脫特異性的困擾
修復(fù)繼承問題
停止擔(dān)心命名
在選擇器中,由以下三種符號來表示擴(kuò)展的關(guān)系:
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),平城企業(yè)網(wǎng)站建設(shè),平城品牌網(wǎng)站建設(shè),網(wǎng)站定制,平城網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,平城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
/* 常規(guī)寫法 */
.list{} 塊
.list .item{} 元素
/* BEM寫法 */
.list{}
.list__item{}
“修飾符”可以理解為一個(gè)塊的特定狀態(tài)!
/* 常規(guī)寫法 */
/* BEM寫法 */
1.短命名比長命名好:縮短書寫時(shí)間// 推薦.some-intro{...}
2.組合命名比單命名好:明確關(guān)系,便于查找位置// .cs-header{...}
面向?qū)傩缘拿高x擇器的命名是跟著具體的CSS樣式走的,與項(xiàng)目、頁面、模塊統(tǒng)統(tǒng)沒有關(guān)系。例如,比較經(jīng)典的清除浮動(dòng)類名.clearfix:
.clearfix:after { content : ''; display: table; clear: both; }
優(yōu)點(diǎn):在于CSS的重用率高,性能最佳,即插即用,方便快捷,開發(fā)也極為迅速,因?yàn)樗∪チ舜罅吭?HTML 和CSS文件之間切換的時(shí)間。
缺點(diǎn):在于由于屬性單一,其適用場景有限,另外因?yàn)槭褂梅奖?,易被過度使用,從而帶來更高的維護(hù)成本。
面向語義的命名則是根據(jù)應(yīng)用元素所處的上下文來命名的。例如:
.header { background-color: #333; color: #fff; }
.logo {font-size: 0; color : transparent;
上述兩種命名方式各有優(yōu)缺點(diǎn):
優(yōu)點(diǎn)是應(yīng)用場景廣泛,可以實(shí)現(xiàn)非常精致的布局效果,擴(kuò)展方便;
缺點(diǎn):在于代碼啰唆,開發(fā)效率一般,因?yàn)樗蠬TML都需要命名,哪怕是一個(gè)10像素的間距。這就導(dǎo)致很多開發(fā)者要么選擇直接使用標(biāo)簽選擇器,要么就選擇一個(gè)簡單的類名,然后通過父子關(guān)系限定樣式,結(jié)果帶來了更糟糕的維護(hù)問題。
前一個(gè) prev
后一個(gè) next
當(dāng)前的 current
顯示的 show
隱藏的 hide
打開的 open
關(guān)閉的 close
選中的 selected
有效的 active
默認(rèn)的 default
反轉(zhuǎn)的 toggle
禁用的 disabled
危險(xiǎn)的 danger
主要的 primary
成功的 success
提醒的 info
警告的 warning
出錯(cuò)的 error
大型的 lg
小型的 sm
超小的 xs
文檔 doc
頭部 header(hd)
主體 body
尾部 footer(ft)
主欄 main
側(cè)欄 side
容器 box/container
列表 list
列表項(xiàng) item
表格 table
表單 form
鏈接 link
標(biāo)題 caption/heading/title
菜單 menu
集合 group
條 bar
內(nèi)容 content
結(jié)果 result
按鈕 button(btn)
字體 icon
下拉菜單 dropdown
工具欄 toolbar
分頁 page
縮略圖 thumbnail
警告框 alert
進(jìn)度條 progress
導(dǎo)航條 navbar
導(dǎo)航 nav
子導(dǎo)航 subnav
面包屑 breadcrumb(crumb)
標(biāo)簽 label
徽章 badge
巨幕 jumbotron
面板 panel
洼地 well
標(biāo)簽頁 tab
提示框 tooltip
彈出框 popover
輪播圖 carousel
手風(fēng)琴 collapse
定位浮標(biāo) affix
語義化小部分:
品牌 brand
標(biāo)志 logo
額外部件 addon
版權(quán) copyright
注冊 regist(reg)
登錄 login
搜索 search
熱點(diǎn) hot
幫助 help
信息 info
提示 tips
開關(guān) toggle
新聞 news
廣告 advertise(ad)
排行 top
下載 download
左浮動(dòng) fl
右浮動(dòng) fr
清浮動(dòng) clear
引用:https://juejin.cn/post/