在本文中,我們將深入探討BEM(區塊、元素、修飾符) 方法,這是一種流行的CSS 命名約定,可幫助您為大型專案編寫乾淨、結構化且可維護的CSS。 BEM 確保您的程式碼隨著專案的成長保持可擴展性,並減少風格衝突的可能性。
BEM 代表:
BEM 方法強調建立可重複使用、可預測且可維護的 CSS 程式碼。
.block {} .block__element {} .block--modifier {}
讓我們用一個例子來分解BEM的結構。
<div class="menu"> <ul class="menu__list"> <li class="menu__item menu__item--active">Home</li> <li class="menu__item">About</li> <li class="menu__item">Contact</li> </ul> </div>
在此範例中:
塊是一個獨立的、可重複使用的組件。將其視為一個獨立的實體,可以放置在程式碼中的任何位置,而不必擔心其樣式受到其他元素的影響。
.button { padding: 10px 20px; background-color: #3498db; color: white; border: none; }
這裡,.button 是一個定義按鈕元件樣式的區塊。您可以在網站的多個部分重複使用此區塊。
元素是塊的一部分,沒有獨立的意思。它與區塊綁定並存在以執行與區塊相關的功能。
.button__icon { margin-right: 10px; } .button__label { font-size: 14px; }
這裡:
修飾符 表示區塊或元素的變體。修飾符用於更改組件的外觀或行為,例如更改按鈕的顏色或使元素更大。
.button--primary { background-color: #2ecc71; } .button--large { padding: 15px 30px; }
這裡:
修飾符也可以應用在元素上:
.button__icon--small { width: 10px; height: 10px; }
讓我們來看一個更完整的範例,其中包括區塊、元素和修飾符:
<div class="card"> <div class="card__header"> <h2 class="card__title">Card Title</h2> </div> <div class="card__body"> <p class="card__text">This is a simple card component.</p> </div> <div class="card__footer"> <button class="button card__button card__button--primary">Read More</button> </div> </div>
/* Block */ .card { border: 1px solid #ddd; padding: 20px; border-radius: 5px; } /* Elements */ .card__header { margin-bottom: 15px; } .card__title { font-size: 18px; color: #333; } .card__body { margin-bottom: 15px; } .card__text { color: #666; } .card__footer { text-align: right; } /* Modifier */ .card__button--primary { background-color: #3498db; color: white; }
在此範例中:
BEM 方法是保持 CSS 有序、可預測和可擴展的強大方法。透過將組件分解為區塊、元素和修飾符,您可以維護更清晰的程式碼並避免樣式衝突,從而使您的專案開發更快、更有效率成長。
裡多伊‧哈桑
以上是CSS BEM 模型 – 撰寫可擴充且可維護的 CSS 指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!