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

目錄
什么是塊?
什么是元素?
什么是修飾符?
使用BEM的優(yōu)點(diǎn)
SMACSS命名約定
使用SMACSS的優(yōu)勢(shì)
使用eCSS的好處
OOCSS、SMACSS和BEM方法的主要區(qū)別是什么?
如何在CSS中實(shí)現(xiàn)WordPress編碼標(biāo)準(zhǔn)?
樣式表在Web開發(fā)中的作用是什么?
CSS方法如何改進(jìn)我的Web設(shè)計(jì)流程?
在HTML中編寫CSS的最佳實(shí)踐是什么?
如何使我的CSS代碼更易于維護(hù)?
使用CSS預(yù)處理器的優(yōu)點(diǎn)是什么?
如何確保我的CSS與不同的瀏覽器兼容?
CSS在Web設(shè)計(jì)中的重要性是什么?
如何了解更多關(guān)于CSS方法的信息?
首頁(yè) 科技周邊 IT業(yè)界 與這三個(gè)CSS方法論馴服不守規(guī)矩的表

與這三個(gè)CSS方法論馴服不守規(guī)矩的表

Feb 17, 2025 am 10:25 AM

Tame Unruly Style Sheets With These Three CSS Methodologies

Tame Unruly Style Sheets With These Three CSS Methodologies

本文是與SiteGround合作創(chuàng)作系列文章的一部分。感謝您支持使SitePoint成為可能的合作伙伴。

本文將探討三種成功的CSS架構(gòu)方法,包括其原則、目標(biāo)和優(yōu)勢(shì)。

關(guān)鍵要點(diǎn)

  • BEM、SMACSS和ECSS是三種用于管理CSS架構(gòu)的方法,每種方法都有其自身的原則、目標(biāo)和優(yōu)勢(shì)。
  • BEM(塊-元素-修飾符)專注于長(zhǎng)期易于維護(hù)項(xiàng)目和組件的可重用性,使用智能命名約定將CSS代碼組織成可重用的模塊。
  • SMACSS(可擴(kuò)展和模塊化CSS架構(gòu))對(duì)CSS規(guī)則進(jìn)行分類,以識(shí)別模式并創(chuàng)建用于編寫可維護(hù)和可重用CSS的指南,其靈活的命名約定有助于代碼組織和團(tuán)隊(duì)效率。
  • ECSS(持久性CSS)強(qiáng)調(diào)隔離,將構(gòu)建每個(gè)組件所需的所有代碼封裝在其自己的共享文件夾中,并使用嚴(yán)格的CSS命名約定。從長(zhǎng)遠(yuǎn)來(lái)看,這種方法支持輕松維護(hù)和最小化文件大小的增加。

為什么CSS代碼會(huì)失控?

保持CSS代碼精簡(jiǎn)、可重用和可維護(hù)非常困難。如果您未能以一致的方式執(zhí)行任何編碼和組織規(guī)則,小型、中型和大型項(xiàng)目都可能出現(xiàn)這種情況,尤其是在有多個(gè)開發(fā)人員參與的項(xiàng)目中。當(dāng)代碼庫(kù)很大,隨著時(shí)間的推移經(jīng)歷了許多更改,并且缺乏組織時(shí),團(tuán)隊(duì)通常更傾向于在樣式表文檔的末尾添加新的樣式規(guī)則,而不是刪除部分代碼或修改現(xiàn)有代碼。主要原因通常是編輯或刪除CSS聲明的效果是不可預(yù)測(cè)的,并且可能導(dǎo)致項(xiàng)目中的某個(gè)地方設(shè)計(jì)中斷。這是一個(gè)失敗的策略,它會(huì)導(dǎo)致代碼重復(fù)、優(yōu)先級(jí)問題(覆蓋樣式規(guī)則變成一場(chǎng)戰(zhàn)斗)以及整體膨脹。通常情況下,選擇最適合您需求的方法是一個(gè)迭代過(guò)程,它從熟悉現(xiàn)有方法開始。以下三種方法可以幫助您應(yīng)對(duì)雜亂樣式表帶來(lái)的挑戰(zhàn)。

BEM

Tame Unruly Style Sheets With These Three CSS Methodologies

BEM代表塊-元素-修飾符。它是Yandex創(chuàng)建的一種用于構(gòu)建CSS的架構(gòu)方法。BEM方法的目標(biāo)是>開發(fā)快速啟動(dòng)并長(zhǎng)期支持的網(wǎng)站。它有助于創(chuàng)建可擴(kuò)展和可重用的界面組件。BEM網(wǎng)站

這里的關(guān)鍵概念是長(zhǎng)期易于維護(hù)項(xiàng)目和組件的可重用性。BEM的核心策略是借助智能命名約定將CSS代碼組織成可重用的模塊。讓我們仔細(xì)看看。

什么是塊?

識(shí)別塊是應(yīng)用BEM方法的關(guān)鍵步驟。塊是一個(gè)>功能獨(dú)立的頁(yè)面組件,可以重復(fù)使用。在HTML中,塊由class屬性表示。BEM文檔。

在決定將什么視為塊時(shí),問問自己是否可以輕松刪除該部分代碼并在其他地方使用它。例如,您可以將網(wǎng)站頁(yè)眉或頁(yè)腳視為一個(gè)塊。您可以安全地嵌套塊,例如,您可以將菜單塊放在頁(yè)眉?jí)K內(nèi)。

<ul class="menu"></ul>

因?yàn)樵瓌t上您應(yīng)該能夠在頁(yè)面的任何位置重復(fù)使用塊,所以塊的CSS不應(yīng)設(shè)置任何邊距或定位規(guī)則。最后,在選擇名稱時(shí),請(qǐng)確保名稱描述塊的用途是什么,而不是它的外觀或狀態(tài)。換句話說(shuō),它的名稱應(yīng)該回答這個(gè)問題:它是什么?(例如,頁(yè)眉、菜單等),而不是它是什么樣的?(例如,固定頁(yè)眉、小型菜單等)。

什么是元素?

根據(jù)BEM方法,元素是>塊的一部分,它沒有獨(dú)立的含義,并且在語(yǔ)義上與其塊相關(guān)聯(lián)。獲取BEM

以下是適用于元素的一些原則:

  • 元素只能存在于塊內(nèi)
  • 元素不能屬于其他元素,它們只能是塊的一部分
  • 您可以構(gòu)建嵌套元素
  • 元素名稱描述其用途,而不是其外觀
  • 在命名元素時(shí),您需要遵循以下約定:block__element

什么是修飾符?

修飾符是>定義塊或元素的外觀、狀態(tài)或行為的實(shí)體。BEM文檔

例如,頁(yè)眉?jí)K可以固定在頁(yè)面頂部,手風(fēng)琴塊可以打開關(guān)閉,按鈕塊可以禁用等。BEM修飾符的命名約定如下所示:blockelementmodifier。這是BEM方法的核心。此外,BEM還提供文件結(jié)構(gòu)組織原則、一套工具和一個(gè)活躍的社區(qū)來(lái)提供支持。

使用BEM的優(yōu)點(diǎn)

以下是您在項(xiàng)目中使用BEM的一些優(yōu)勢(shì):

  • 新開發(fā)人員可以快速理解標(biāo)記中組件與CSS規(guī)則之間的關(guān)系
  • 它促進(jìn)團(tuán)隊(duì)的生產(chǎn)力。在大型項(xiàng)目中,這種優(yōu)勢(shì)尤其明顯
  • 命名約定降低了類名沖突和樣式泄漏的風(fēng)險(xiǎn)
  • CSS不會(huì)與頁(yè)面內(nèi)特定位置的標(biāo)記緊密關(guān)聯(lián)
  • CSS 是高度可重用的

SMACSS

Tame Unruly Style Sheets With These Three CSS Methodologies

可擴(kuò)展和模塊化CSS架構(gòu)(SMACSS)是一種用于組織和編寫CSS代碼的Web開發(fā)方法。其創(chuàng)建者Jonathan Snook將其描述如下:>SMACSS是一種檢查設(shè)計(jì)過(guò)程并使這些嚴(yán)格的框架適應(yīng)靈活思維過(guò)程的方法。當(dāng)使用CSS時(shí),它試圖記錄一種一致的站點(diǎn)開發(fā)方法。SMACSS網(wǎng)站

其核心是對(duì)CSS規(guī)則進(jìn)行分類。分類會(huì)帶來(lái)模式,即您在設(shè)計(jì)中重復(fù)出現(xiàn)多次的內(nèi)容,您可以圍繞這些模式制定編寫可維護(hù)和可重用CSS的指南。SMACSS核心類別是:

  • 基礎(chǔ) — 此類別包含控制元素默認(rèn)外觀的CSS規(guī)則。選擇器包括單個(gè)元素選擇器、屬性選擇器、偽類選擇器、同級(jí)選擇器等。例如,html、body、a、a:hover等。
  • 布局 — 此類別用于將頁(yè)面劃分為各個(gè)部分的樣式。
  • 模塊 — 模塊是設(shè)計(jì)的可重用積木式部件,例如菜單、對(duì)話框、搜索框等。
  • 狀態(tài) — 此類別包括用于描述布局或模塊在特定狀態(tài)(例如,可見或隱藏、展開或關(guān)閉等)或特定視圖(例如,主頁(yè)或內(nèi)部頁(yè)面)中的外觀的樣式。
  • 主題 — 此類別類似于狀態(tài),因?yàn)樗?fù)責(zé)布局和模塊外觀的CSS規(guī)則。并非所有項(xiàng)目都需要此額外類別,但了解它的存在總是有好處的。

SMACSS命名約定

與上面概述的類別相關(guān),SMACSS提出了一種命名約定,以幫助代碼組織和開發(fā)團(tuán)隊(duì)的生產(chǎn)力。布局、狀態(tài)和模塊規(guī)則以有意義的名稱或縮寫作為前綴。對(duì)于布局規(guī)則,例如layout-、grid-甚至簡(jiǎn)單的l-都是可接受的前綴。對(duì)于狀態(tài)規(guī)則,約定是用is-作為狀態(tài)前綴,例如is-hidden、is-visible等。至于模塊,只需使用您正在構(gòu)建的組件的名稱,例如.menu、.dialog等。例如,要設(shè)置打開的對(duì)話框的樣式,您可以在CSS中使用.dialog.is-open之類的選擇器。模塊內(nèi)的相關(guān)元素以及同一模塊的變體應(yīng)使用模塊的基本名稱作為前綴。此外,盡量不要使用ID、元素選擇器或嵌套選擇器。例如,要選擇名為menu的模塊內(nèi)的菜單項(xiàng),不要像這樣編寫選擇器:.menu li a,而應(yīng)使用類似.menu-link或.menu-item的內(nèi)容。與BEM不同,SMACSS不會(huì)規(guī)定過(guò)于嚴(yán)格的命名約定。Jonathan Snook明確表示:>……不要覺得您必須嚴(yán)格遵守這些指南。制定一個(gè)約定,記錄下來(lái),并堅(jiān)持下去。SMACSS網(wǎng)站

使用SMACSS的優(yōu)勢(shì)

SMACSS方法進(jìn)行CSS編碼的一些優(yōu)勢(shì)包括:

  • 它為模塊化、可維護(hù)的CSS提供了有效的指南,同時(shí)避免過(guò)于嚴(yán)格
  • 您可以快速學(xué)習(xí)(和教授)SMACSS
  • SMACSS命名約定不如BEM的冗長(zhǎng),在某些方面更容易掌握
  • 它足夠靈活,可以很好地用于大型和小型項(xiàng)目

ECSS

Tame Unruly Style Sheets With These Three CSS Methodologies

持久性CSS或eCSS是>編寫樣式表以用于大型、快速變化、長(zhǎng)期存在的Web項(xiàng)目的指南。eCSS網(wǎng)站

這種CSS方法確實(shí)引起了我對(duì)其作者Ben Frain對(duì)處理大規(guī)模CSS挑戰(zhàn)的原始觀點(diǎn)的極大興趣。eCSS的核心概念是隔離。隔離意味著每個(gè)組件都是一個(gè)獨(dú)立的代碼單元,沒有依賴性、沒有上下文負(fù)擔(dān),可重用且可移除,而不會(huì)造成樣式泄漏的風(fēng)險(xiǎn)。這主要通過(guò)以下方式實(shí)現(xiàn):

  • 將所有代碼(不僅是CSS,而且是構(gòu)建每個(gè)組件所需的所有技術(shù))封裝在其自己的共享文件夾中。
  • 每次需要與現(xiàn)有組件類似但有一些變體的組件時(shí),即使變體很小,也要?jiǎng)?chuàng)建一個(gè)全新的組件。
  • 使用嚴(yán)格的CSS命名約定

根據(jù)上述第二點(diǎn),很明顯,重復(fù)屬性和值對(duì)于eCSS來(lái)說(shuō)不是問題。在這方面,eCSS代表了與BEM和SMACSS等方法的根本區(qū)別,后者擴(kuò)展或抽象現(xiàn)有組件,從而避免或盡可能避免代碼重復(fù)。這是否意味著eCSS會(huì)生成大型樣式表文件?不一定。在使用文件壓縮進(jìn)行了一些測(cè)試后,Ben Frain得出結(jié)論,由于“gzip在壓縮重復(fù)字符串方面非常高效”,因此使用eCSS與其他更傾向于抽象而不是重復(fù)的方法之間的文件大小差異非常小。

使用eCSS的好處

以下是應(yīng)用eCSS方法并接受其對(duì)重復(fù)的觀點(diǎn)可以獲得的好處:

  • 通過(guò)保持每個(gè)視覺模式的隔離性,CSS代碼更容易維護(hù)
  • 雖然您會(huì)發(fā)現(xiàn)重復(fù)的屬性和值,但從長(zhǎng)遠(yuǎn)來(lái)看,文件大小的增加仍然很小。這是因?yàn)槟K是自包含的、獨(dú)立的單元,您可以隨時(shí)快速刪除不再需要的模塊,而無(wú)需擔(dān)心會(huì)破壞設(shè)計(jì)
  • 創(chuàng)建模塊所需的所有語(yǔ)言/技術(shù)文件共享同一個(gè)文件夾,這使得編輯和物理刪除不再需要的內(nèi)容都變得非常容易。

您可以在Frain的書《持久性CSS》中閱讀這種創(chuàng)新方法的所有細(xì)節(jié)。

結(jié)論

編寫可維護(hù)且組織良好的CSS代碼具有其挑戰(zhàn)性。在本文中,我介紹了三種可以幫助完成此任務(wù)的方法。這絕不是一個(gè)詳盡的列表,而且這些方法都不能解決您在項(xiàng)目中可能遇到的所有問題。只需嘗試一下,看看什么適合您。您還可以嘗試將BEM和SMACSS結(jié)合使用,甚至可以根據(jù)您自己設(shè)定的問題集制定自己的方法。您編寫組織良好、易于管理的CSS代碼的黃金法則是什么?您認(rèn)為使用CSS架構(gòu)方法可以減輕痛苦嗎?點(diǎn)擊評(píng)論框讓我知道。

關(guān)于CSS架構(gòu)方法的常見問題

OOCSS、SMACSS和BEM方法的主要區(qū)別是什么?

OOCSS、SMACSS和BEM都是旨在幫助開發(fā)人員編寫干凈、可維護(hù)和可擴(kuò)展CSS的CSS方法。OOCSS或面向?qū)ο蟮腃SS鼓勵(lì)開發(fā)人員編寫可重用、面向?qū)ο蟮拇a。它專注于將結(jié)構(gòu)與外觀分離,并將容器與內(nèi)容分離。SMACSS或可擴(kuò)展和模塊化CSS架構(gòu)提供對(duì)CSS規(guī)則進(jìn)行分類的指南,以使您的代碼更靈活和更易于管理。BEM或塊元素修飾符是一種命名約定,使您的CSS更易于閱讀和理解。它將UI劃分為獨(dú)立的塊,這些塊可以重復(fù)使用和組合。

如何在CSS中實(shí)現(xiàn)WordPress編碼標(biāo)準(zhǔn)?

WordPress有自己的一套CSS編碼標(biāo)準(zhǔn),以確保不同項(xiàng)目之間的一致性和可讀性。這些標(biāo)準(zhǔn)包括命名約定、縮進(jìn)、間距和注釋的規(guī)則。要實(shí)現(xiàn)這些標(biāo)準(zhǔn),您可以使用帶有WordPress配置的CSS棉絨工具,如Stylelint。

樣式表在Web開發(fā)中的作用是什么?

觀看《成為辦公室的CSS英雄,使用CSS架構(gòu)制作結(jié)構(gòu)化、可維護(hù)和可擴(kuò)展的CSS》!觀看本課程 樣式表是一個(gè)文件或代碼形式,它定義網(wǎng)頁(yè)的布局和設(shè)計(jì)。它控制頁(yè)面上HTML元素的視覺呈現(xiàn),包括布局、顏色、字體和動(dòng)畫。CSS(層疊樣式表)是最常用的樣式表語(yǔ)言。

CSS方法如何改進(jìn)我的Web設(shè)計(jì)流程?

CSS方法可以通過(guò)使您的CSS更具組織性、可重用性和可擴(kuò)展性來(lái)極大地改進(jìn)您的Web設(shè)計(jì)流程。它們提供了一種編寫CSS的結(jié)構(gòu)化方法,這有助于降低代碼的復(fù)雜性,使其更易于理解和維護(hù),并提高性能。

在HTML中編寫CSS的最佳實(shí)踐是什么?

在HTML中編寫CSS的最佳實(shí)踐包括通過(guò)使用外部樣式表將樣式與內(nèi)容分離,有效地使用選擇器,對(duì)相關(guān)的樣式進(jìn)行分組,使用速記屬性以及對(duì)代碼進(jìn)行注釋以提高清晰度。驗(yàn)證您的CSS也很重要,以確保它沒有錯(cuò)誤并且與不同的瀏覽器兼容。

如何使我的CSS代碼更易于維護(hù)?

為了使您的CSS代碼更易于維護(hù),您可以使用CSS方法,如OOCSS、SMACSS或BEM,它們提供構(gòu)建和組織代碼的指南。其他策略包括將CSS模塊化,使用Sass或Less之類的預(yù)處理器以及遵循命名約定。

使用CSS預(yù)處理器的優(yōu)點(diǎn)是什么?

Sass和Less之類的CSS預(yù)處理器允許您在CSS中使用變量、嵌套、mixin和函數(shù),這可以使您的代碼更易于閱讀和維護(hù)。它們還允許您編寫更簡(jiǎn)潔和更強(qiáng)大的CSS。

如何確保我的CSS與不同的瀏覽器兼容?

為了確保您的CSS與不同的瀏覽器兼容,您可以使用Can I Use之類的工具,它顯示了CSS屬性在不同瀏覽器中的兼容性。對(duì)于并非所有瀏覽器都完全支持的CSS屬性,使用供應(yīng)商前綴也很重要。

CSS在Web設(shè)計(jì)中的重要性是什么?

CSS在Web設(shè)計(jì)中至關(guān)重要,因?yàn)樗刂凭W(wǎng)頁(yè)上內(nèi)容的視覺呈現(xiàn)。它允許您創(chuàng)建具有視覺吸引力的網(wǎng)站,這些網(wǎng)站具有始終如一的設(shè)計(jì)和布局。它還使您可以根據(jù)不同類型的設(shè)備(如臺(tái)式機(jī)、平板電腦和移動(dòng)電話)調(diào)整演示。

如何了解更多關(guān)于CSS方法的信息?

在線有很多資源可以學(xué)習(xí)CSS方法。SitePoint、Smashing Magazine和Mozilla Developer Network等網(wǎng)站提供深入的文章和教程。您還可以在Coursera和Udemy等平臺(tái)上找到在線課程。

以上是與這三個(gè)CSS方法論馴服不守規(guī)矩的表的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系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脫衣機(jī)

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集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

用于購(gòu)買SSL證書的經(jīng)濟(jì)有效的轉(zhuǎn)售商平臺(tái) 用于購(gòu)買SSL證書的經(jīng)濟(jì)有效的轉(zhuǎn)售商平臺(tái) Jun 25, 2025 am 08:28 AM

在一個(gè)在線信任不可談判的世界中,SSL證書對(duì)于每個(gè)網(wǎng)站都至關(guān)重要。 SSL認(rèn)證的市場(chǎng)規(guī)模在2024年價(jià)值56億美元,并且由于電子商務(wù)業(yè)務(wù)的激增而推動(dòng)了強(qiáng)勁的增長(zhǎng)

SaaS的5個(gè)最佳支付門戶:您的最終指南 SaaS的5個(gè)最佳支付門戶:您的最終指南 Jun 29, 2025 am 08:28 AM

付款網(wǎng)關(guān)是付款過(guò)程的關(guān)鍵組成部分,使企業(yè)能夠在線接受付款。它充當(dāng)客戶與商人之間的橋梁,安全地傳輸付款信息并促進(jìn)交易。 為了

新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 Jul 03, 2025 pm 05:48 PM

在我們認(rèn)為人類始終超越機(jī)器的領(lǐng)域的另一個(gè)挫折中,研究人員現(xiàn)在建議AI比我們更好地理解情感。研究人員發(fā)現(xiàn)人工智能證明了一個(gè)

由于新的Microsoft AI型號(hào) 由于新的Microsoft AI型號(hào) Jul 05, 2025 am 12:44 AM

一種新的人工智能(AI)模型已經(jīng)證明了比幾個(gè)使用最廣泛使用的全球預(yù)測(cè)系統(tǒng)更快,更精確地預(yù)測(cè)重大天氣事件的能力。該名為Aurora的模型已接受過(guò)培訓(xùn)。

您的設(shè)備喂養(yǎng)AI助手并收集個(gè)人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 您的設(shè)備喂養(yǎng)AI助手并收集個(gè)人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 Jul 05, 2025 am 01:12 AM

不管喜歡與否,人工智能已成為日常生活的一部分。許多設(shè)備(包括電動(dòng)剃須刀和牙刷)已成為AI驅(qū)動(dòng)的“使用機(jī)器學(xué)習(xí)算法來(lái)跟蹤一個(gè)人的使用方式,Devi的方式

高級(jí)AI型號(hào)的CO&#8322;回答相同問題時(shí)的排放量比更常見的LLM 高級(jí)AI型號(hào)的CO&#8322;回答相同問題時(shí)的排放量比更常見的LLM Jul 06, 2025 am 12:37 AM

根據(jù)最近的一項(xiàng)研究,我們?cè)噲D使AI模型的功能越精確,其碳排放量就越大 - 某些提示產(chǎn)生的二氧化碳比其他提示高達(dá)50倍。

See all articles