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

首頁 web前端 css教程 CSS體系結構塊元素模型(BEM) - 站點點

CSS體系結構塊元素模型(BEM) - 站點點

Feb 18, 2025 am 09:33 AM

bem(塊元素模型)是前端開發(fā)方法,命名約定和一組相關的工具。它起源于Yandex,旨在大型團隊的高效開發(fā)。這種解釋重點介紹了核心概念和命名系統(tǒng)。

>

bem將查看網站作為可重復使用的組件塊的集合,可組合構建接口。 塊是一個網站部分(標題,頁腳,側邊欄等),如圖2.3所示。 請注意,這里的“塊”是指HTML頁面段。

>

CSS Architecture Block-Element-Modifier (BEM) - SitePoint

圖2.3。 主頁可能包括標頭,主和頁腳塊。

>

>塊可以筑巢。例如,標頭塊可能包含徽標,導航和搜索表單塊(圖2.4)。 頁腳可以包含一個站點地圖塊。

CSS Architecture Block-Element-Modifier (BEM) - SitePoint

圖2.4。標題塊,包括徽標,導航和搜索塊。
元素比塊更顆粒狀。 正如BEM文檔所述:“元素是執(zhí)行特定函數(shù)的塊的一部分。元素是上下文依賴的;它們僅在其父塊內才有意義。” 例如,一個搜索表單塊包括文本輸入元素和提交按鈕元素(圖2.5)。 在這里,“元素”是指設計元素,而不是html元素。

>

圖2.5。帶有文本輸入并提交按鈕元素的搜索塊。

> CSS Architecture Block-Element-Modifier (BEM) - SitePoint>一個主內容塊可能包含一個文章列表塊,該列表又包含文章促銷塊。每個促銷塊都可以具有圖像,摘錄和“閱讀更多”元素(圖2.6)。

圖2.6。網站文章的促銷障礙。

框架和元素構成了BEM命名約定的核心:> CSS Architecture Block-Element-Modifier (BEM) - SitePoint

塊名稱必須在項目范圍內唯一。
元素名稱必須在一個塊中是唯一的。

>

>塊變體(例如,一個深色搜索框)使用類名稱中的修飾符。

  • 塊和元素名稱由兩個下劃線(
  • )隔開。 修飾符與塊/元素名稱通過兩個連字符(
  • )分開。
  • >
  • 這是一個bem風格的搜索表格示例:

一個深為主題的版本:__ --

對應的CSS:

<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>
在標記和CSS中,

>和search--inversesearch__label--inverse> 類,而不是替換。 僅使用類選擇器;允許兒童和后代選擇器,但也應針對類。避免元素和ID選擇器。這使選擇器特異性保持較低,防止副作用,并使CSS獨立于標記模式。 唯一的塊和元素名稱可以防止命名沖突。 好處包括:

  • 提高了新團隊成員的代碼可讀性和理解。
  • 提高了團隊生產率。
  • 降低命名碰撞和副作用。
  • css獨立于標記。
  • 高CSS可重復使用性。

> BEM的范圍超出了此概述。 BEM官方網站提供了全面的詳細信息,工具和教程。 “ Get Bem”是命名慣例的另一個絕佳資源。

>

>(省略了常見問題部分,因為它是已經存在的信息的重復,并且會大大增加輸出的長度而不添加新內容。

以上是CSS體系結構塊元素模型(BEM) - 站點點的詳細內容。更多信息請關注PHP中文網其他相關文章!

本站聲明
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個根據(jù)目標瀏覽器范圍自動為CSS屬性添加廠商前綴的工具。1.它解決了手動維護前綴易出錯的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設置browserslist、在構建流程中啟用;4.注意事項有不手動加前綴、保持配置更新、非所有屬性都加前綴、建議配合預處理器使用。

CSS教程,用于創(chuàng)建粘性標頭或頁腳 CSS教程,用于創(chuàng)建粘性標頭或頁腳 Jul 02, 2025 am 01:04 AM

TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

什么是圓錐級函數(shù)? 什么是圓錐級函數(shù)? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

CSS教程,用于創(chuàng)建加載旋轉器和動畫 CSS教程,用于創(chuàng)建加載旋轉器和動畫 Jul 07, 2025 am 12:07 AM

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

CSS教程專注于移動優(yōu)先設計 CSS教程專注于移動優(yōu)先設計 Jul 02, 2025 am 12:52 AM

Mobile-firstCSSdesignrequiressettingtheviewportmetatag,usingrelativeunits,stylingfromsmallscreensup,optimizingtypographyandtouchtargets.First,addtocontrolscaling.Second,use%,em,orreminsteadofpixelsforflexiblelayouts.Third,writebasestylesformobile,the

如何創(chuàng)建本質上響應的網格布局? 如何創(chuàng)建本質上響應的網格布局? Jul 02, 2025 am 01:19 AM

要創(chuàng)建內在響應式網格布局,核心方法是使用CSSGrid的repeat(auto-fit,minmax())模式;1.設置grid-template-columns:repeat(auto-fit,minmax(200px,1fr))讓瀏覽器自動調整列數(shù)并限制每列最小和最大寬度;2.使用gap控制格子間距;3.容器應設為相對單位如width:100%、配合box-sizing:border-box避免寬度計算錯誤并用margin:auto居中;4.可選設置行高與內容對齊方式提升視覺一致性,如row

如何將整個網格集中在視口中? 如何將整個網格集中在視口中? Jul 02, 2025 am 12:53 AM

要讓整個網格布局在視口中居中顯示,可通過以下方法實現(xiàn):1.使用margin:0auto實現(xiàn)水平居中,需設定容器固定寬度,適用于固定布局;2.利用Flexbox在外層容器設置justify-content和align-items屬性,結合min-height:100vh可實現(xiàn)垂直和水平居中,適合全屏展示場景;3.直接使用CSSGrid的place-items屬性在父容器上快速居中,簡潔且現(xiàn)代瀏覽器支持良好,同時需確保父容器有足夠高度。每種方式均有適用場景和限制,根據(jù)實際需求選擇合適的方案即可。

CSS中使用@supports的功能檢測是什么? CSS中使用@supports的功能檢測是什么? Jul 02, 2025 am 01:14 AM

prainuredetectionIncsssusissuse@supportScheckSifabRowsEsuppecifortSupecifortEfeatureBeforeApplyingReplyingStyles.1.itusesconditionalcsssssbasssbasedonproperty-valueperty-valuepairs,suessas@supports@supports@supports@supports(display:grid)

See all articles