国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

BEM——前端命名規(guī)范介紹

Jason / 2632人閱讀

摘要:什么是是由團(tuán)隊提出的一種前端命名規(guī)范。用法嵌套可以相互嵌套,并且嵌套數(shù)量任意。決定了命名空間,確保不被其他影響。何時用何時用使用創(chuàng)建定義和的外觀狀態(tài)或者行為。特征表示其表現(xiàn)其狀態(tài)和其行為命名方法以單下劃線與或者隔開。

什么是BEM?

BEM(Block, Element, Modifier)是由Yandex團(tuán)隊提出的一種前端命名規(guī)范。其核心思想是將頁面拆分成一個個獨(dú)立的富有語義的塊(blocks),從而使得團(tuán)隊在開發(fā)復(fù)雜的項目變得高效,并且十分有利于代碼復(fù)用,即便團(tuán)隊引入新成員,也容易維護(hù)。在某種程度上,BEM和OOP是相似的。

Block

Block是邏輯和功能獨(dú)立的單元,類似于組件。每個block包含自身的行為(js)、結(jié)構(gòu)(HTML模板)、表現(xiàn)(css)。block的獨(dú)立性有利于代碼的復(fù)用,有利于項目管理。

Block特點

1.block名描述block功能 ("What is it?" — menu or button), 不包含其狀態(tài) ("What does it look like?" — red or big)。block可以嵌套、復(fù)用。


block可以嵌套,并且可以嵌套任意多個block


2.block不影響自身布局,也就是說不能設(shè)置margin和position屬性。

3.不能在BEM中使用元素選擇器和ID選擇器。

Element

Element 是block的組成部分,并且不能脫離block使用。

Element特點

1.element表示其目的( item, text, etc.), 而不是其狀態(tài)( red, big, etc.).

2.Element的命名方式:block-name__element-name. element名字和block名字以雙下劃線分開。


Element用法——嵌套

Elements 可以相互嵌套,并且嵌套數(shù)量任意。element只能是block的一部分,也就是說element的命名層級不能是block__elem1__elem2。


block決定了命名空間,確保elements不被其他block影響。

block中的element在css中不需要跟block一起使用,而是獨(dú)立定義規(guī)則。這樣,當(dāng)修改bolck的結(jié)構(gòu)時不需要修改css。

.block {}
.block__elem1 {}
.block__elem2 {}
.block__elem3 {}

The block"s structure changes, but the rules for the elements and their names remain the same.

Element與block的關(guān)系

elementy只能作為block的一部分使用,不能獨(dú)立使用。



block不一定含有element。


何時用Element何時用block

使用block: If a section of code might be reused and it doesn"t depend on other page components being implemented.
創(chuàng)建element:If a section of code can"t be used separately without the parent entity (the block).

Modifier

Modifier定義block和element的外觀,狀態(tài),或者行為。

Modifier 特征

Modifier表示其表現(xiàn)("What size?" or "Which theme?" and so on — size_s or theme_islands), 其狀態(tài) ("How is it different from the others?" — disabled, focused, etc.) 和其行為 ("How does it behave?" or "How does it respond to the user?" — such as directions_left-top).

modifier命名方法:以單下劃線與block 或者 element 隔開。

modifier類型:Boolean

modifier類型:Key-value

modifier不能多帶帶使用


文件組織結(jié)構(gòu)

BEM理論也可以應(yīng)用到工程目錄的組織架構(gòu)中。blocks, elements, 和 modifiers將分開為獨(dú)立的文件。

Features:

1.A single block corresponds to a single directory.

2.The block and the directory have the same name. For example, the header block is in the header/ directory, and the menu block is in the menu/ directory.

3.A block"s implementation is divided into separate technology files. For example, header.css and header.js.

4.The block directory is the root directory for the subdirectories of its elements and modifiers.

5.Names of element directories begin with a double underscore (__). For example, header/__logo/ and menu/__item/.

6.Names of modifier directories begin with a single underscore (_). For example, header/_fixed/ and menu/_theme_islands/.

7.Implementations of elements and modifiers are divided into separate technology files. For example, header__input.js and header_theme_islands.css.

search-form/                           # Directory of the search-form

    __input/                           # Subdirectory of the search-form__input
        search-form__input.css         # CSS implementation of the
                                       # search-form__input element
        search-form__input.js          # JavaScript implementation of the
                                       # search-form__input element

    __button/                          # Subdirectory of the search-form__button
                                       # element
        search-form__button.css
        search-form__button.js

    _theme/                            # Subdirectory of the search-form_theme
                                       # modifier
        search-form_theme_islands.css  # CSS implementation of the search-form block
                                       # that has the theme modifier with the value
                                       # islands
        search-form_theme_lite.css     # CSS implementation of the search-form block
                                       # that has the theme modifier with the value
                                       # lite

    search-form.css                    # CSS implementation of the search-form block
    search-form.js                     # JavaScript implementation of the
                                       # search-form block

參考更多

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/112969.html

相關(guān)文章

  • 前端領(lǐng)域的BEM到底是什么

    摘要:在這篇譯什么是我們?yōu)槭裁葱枰麄兊慕Y(jié)尾處,明確指出不需要,那么到底是什么呢下面我將把官網(wǎng)的教程翻譯出來,帶領(lǐng)大家搞清楚前端領(lǐng)域的到底是什么。命名在計算機(jī)科學(xué)領(lǐng)域,只有個非常難解決的問題一個是緩存失效,而另一個則是命名。 在這篇【譯】什么是CSS Modules ?我們?yōu)槭裁葱枰麄儯康慕Y(jié)尾處,明確指出CSS Modules不需要BEM,那么BEM到底是什么呢? 下面我將把BEM官網(wǎng)的教...

    GitChat 評論0 收藏0
  • CSS命名規(guī)范

    摘要:本篇介紹幾種命名規(guī)范。使用的網(wǎng)站四其他命名規(guī)范等減少對結(jié)構(gòu)的依賴增加重復(fù)性的使用幾種命名規(guī)范比較與在命名上相反的點可以放心使用,以為都是在模塊內(nèi)但不推薦當(dāng)前我們的網(wǎng)站略有思想更概括,中的,相當(dāng)于的,相當(dāng)于的,相當(dāng)于的中文 本篇介紹幾種CSS命名規(guī)范。 (規(guī)范詳細(xì)請參考底部References) 一、NEC (nice easy css) 網(wǎng)易前端CSS開源項目 1.1 樣式分類 重...

    includecmath 評論0 收藏0
  • 前端編碼規(guī)范之:樣式(scss)編碼規(guī)范

    摘要:前端編碼規(guī)范之使用規(guī)范前端編碼規(guī)范之樣式編碼規(guī)范前端編碼規(guī)范之結(jié)構(gòu)規(guī)范前端編碼規(guī)范之最佳實踐前端編碼規(guī)范之編碼規(guī)范命名的原則是通俗易懂,盡量保持不重復(fù)沖突,盡量不要用。我覺得應(yīng)該避免出現(xiàn)出現(xiàn)這種方式用預(yù)處理器拼接出來的名稱,會生成。 前端編碼規(guī)范之:Git使用規(guī)范 前端編碼規(guī)范之:樣式(scss)編碼規(guī)范 前端編碼規(guī)范之:HTML結(jié)構(gòu)規(guī)范 前端編碼規(guī)范之:Vue最佳實踐 前端編碼規(guī)范...

    reclay 評論0 收藏0
  • CSS方法論(一)

    摘要:由于年提出,這基于她在雅虎的工作。但是這很難做到解決的問題樣式全局性造成的樣式?jīng)_突問題多人協(xié)作的命名問題解決層疊問題,使的優(yōu)先級保持相對扁平的模塊化,使更具有復(fù)用的能力于年由提出,當(dāng)時他在雅虎工作。 編寫CSS會遇到什么問題? 其實CSS很好寫,只要知道css語法,你就可以寫出來,通過各種學(xué)習(xí),你也可以做出一個很美麗的頁面。對能熟練編寫網(wǎng)頁的人來說,可以很簡單的將設(shè)計圖變成網(wǎng)頁。但是在...

    haoguo 評論0 收藏0
  • CSS規(guī)范--BEM入門

    摘要:一開始,公司推出的,包括了規(guī)范以及其配套構(gòu)建工具。代表的不同狀態(tài)或不同版本。再來看一個之前用常規(guī)方式命名的的例子這些類名真是太不精確了,并不能告訴我們足夠的信息。 這段時間在整理前端部分的代碼規(guī)范,前面提到的CSS規(guī)范里面會涉及到選擇器的命名,就參考BEM的命名規(guī)范,內(nèi)容整理如下,供大家參考,請斧正!如大家有興趣,可移步至CSS編碼規(guī)范 BEM是由Yandex公司推出的一套CSS命名...

    li21 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<