91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

2021必修 首門(mén)CSS架構(gòu)系統(tǒng)精講 理論+實(shí)戰(zhàn)玩轉(zhuǎn)蘑菇街

jf_82580774 ? 來(lái)源:jf_82580774 ? 作者:jf_82580774 ? 2026-04-01 15:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

從個(gè)人觀點(diǎn)看CSS架構(gòu)與組件庫(kù):電商UI體系背后的“隱形腳手架”

做前端這些年,我見(jiàn)過(guò)太多項(xiàng)目在CSS上栽跟頭。一開(kāi)始寫(xiě)得很爽,隨著業(yè)務(wù)膨脹,樣式文件越來(lái)越臃腫,改一個(gè)按鈕的樣式牽扯出十幾個(gè)頁(yè)面的樣式錯(cuò)亂,不敢刪、不敢改、不敢重構(gòu)。這種“CSS債務(wù)”的累積速度,往往比JavaScript債務(wù)快得多。

當(dāng)我開(kāi)始深入思考CSS架構(gòu),尤其是為電商這類復(fù)雜業(yè)務(wù)搭建組件庫(kù)時(shí),才意識(shí)到:CSS不是“隨便寫(xiě)寫(xiě)就能跑”的東西,它需要一套完整的設(shè)計(jì)體系作為支撐。就像蓋房子不能沒(méi)有腳手架一樣,電商UI體系背后,也需要一套隱形的CSS架構(gòu)來(lái)兜底。

CSS架構(gòu)的本質(zhì):管理“復(fù)雜度”與“熵”

電商業(yè)務(wù)的UI復(fù)雜度,在我接觸過(guò)的所有品類中算是頂級(jí)的。商品卡片、價(jià)格展示、促銷標(biāo)簽、購(gòu)物車彈窗、多級(jí)分類菜單——每一個(gè)看似簡(jiǎn)單的組件,背后都有大量的狀態(tài)變體和業(yè)務(wù)邏輯。

如果沒(méi)有架構(gòu),CSS會(huì)迅速陷入“熵增”。今天A頁(yè)面寫(xiě)一個(gè).price,明天B頁(yè)面寫(xiě)一個(gè).price,后天需求變了要改價(jià)格樣式,你會(huì)發(fā)現(xiàn)改了A頁(yè)面,B頁(yè)面崩了;改了B頁(yè)面,C頁(yè)面又出問(wèn)題了。這種全局命名空間的污染,是傳統(tǒng)CSS最大的痛點(diǎn)。

CSS架構(gòu)的核心價(jià)值,就是對(duì)抗這種“熵增”。它通過(guò)一套規(guī)則,把散落在各個(gè)頁(yè)面的樣式約束起來(lái),讓每個(gè)人在寫(xiě)樣式時(shí)都走在同一條軌道上。不是限制創(chuàng)造力,而是把創(chuàng)造力用在正確的地方。

我經(jīng)歷過(guò)從“沒(méi)有任何架構(gòu)”到“引入完整CSS架構(gòu)”的轉(zhuǎn)變,最直觀的感受是:重構(gòu)的信心回來(lái)了。以前改樣式是戰(zhàn)戰(zhàn)兢兢的“拆彈”,現(xiàn)在改樣式是按部就班的“施工”。這種安全感,是任何技術(shù)選型都無(wú)法替代的。

BEM與組件化:讓CSS“有跡可循”

在眾多CSS方法論中,BEM是我實(shí)踐下來(lái)最適配組件庫(kù)的。它通過(guò)Block、Element、Modifier的命名規(guī)范,把CSS的作用域收窄到組件級(jí)別,同時(shí)保持了語(yǔ)義的可讀性。

在電商組件庫(kù)里,BEM的價(jià)值體現(xiàn)得淋漓盡致。比如一個(gè)商品卡片組件,它可能有多種狀態(tài):默認(rèn)態(tài)、促銷態(tài)、售罄態(tài)、選中態(tài)。用BEM的Modifier,你可以清晰地表達(dá)這些變體,而不用擔(dān)心樣式?jīng)_突。團(tuán)隊(duì)里的任何一個(gè)人看到class名,都能立刻知道這個(gè)樣式屬于哪個(gè)組件、作用在哪個(gè)元素上、代表什么狀態(tài)。

配合組件化的開(kāi)發(fā)模式,CSS和JS的邊界也變得清晰。每個(gè)組件有自己獨(dú)立的樣式文件,樣式只作用在組件內(nèi)部,不會(huì)泄漏出去。這讓我想起一個(gè)比喻:如果說(shuō)組件化是把UI拆成一個(gè)個(gè)獨(dú)立的“細(xì)胞”,那BEM就是給每個(gè)細(xì)胞穿上了“防彈衣”,讓它們互相之間不會(huì)誤傷。

設(shè)計(jì)令牌:UI體系的“基礎(chǔ)設(shè)施”

如果說(shuō)BEM解決了“怎么寫(xiě)”的問(wèn)題,那設(shè)計(jì)令牌解決的就是“用什么寫(xiě)”的問(wèn)題。這是我在搭建電商組件庫(kù)時(shí),最晚意識(shí)到卻最重要的一個(gè)環(huán)節(jié)。

設(shè)計(jì)令牌本質(zhì)上是一套設(shè)計(jì)決策的抽象——顏色、字體、間距、圓角、陰影、動(dòng)畫(huà)時(shí)長(zhǎng),所有這些視覺(jué)決策都被抽取成變量。組件庫(kù)不寫(xiě)死任何具體的數(shù)值,而是使用這些令牌。當(dāng)品牌升級(jí)或主題切換時(shí),只需要修改令牌的值,整個(gè)組件庫(kù)就自動(dòng)完成了視覺(jué)更新。

電商業(yè)務(wù)尤其需要這種能力。大促期間要換紅色主題、不同品類頻道有不同的品牌色、國(guó)際化場(chǎng)景下各地區(qū)的視覺(jué)偏好不同——這些需求如果沒(méi)有設(shè)計(jì)令牌的支撐,維護(hù)成本會(huì)呈指數(shù)級(jí)增長(zhǎng)。

我最大的教訓(xùn)來(lái)自一個(gè)沒(méi)有設(shè)計(jì)令牌的項(xiàng)目。產(chǎn)品經(jīng)理說(shuō)“把主色調(diào)從藍(lán)色改成橙色”,我以為改一個(gè)變量就行,結(jié)果發(fā)現(xiàn)代碼里散落著幾十種不同的藍(lán)色值,有的是#1890ff,有的是#1677ff,有的是手動(dòng)調(diào)的rgba。那次改色花了整整兩天,我發(fā)誓以后再也不會(huì)不建設(shè)計(jì)令牌就開(kāi)工。

實(shí)用性與擴(kuò)展性的平衡

組件庫(kù)的CSS架構(gòu)面臨一個(gè)永恒的矛盾:既要足夠簡(jiǎn)單,讓團(tuán)隊(duì)成員容易上手;又要足夠強(qiáng)大,能應(yīng)對(duì)各種定制化需求。

在電商場(chǎng)景下,這個(gè)矛盾尤其突出。業(yè)務(wù)方經(jīng)常提出一些“稍微改一點(diǎn)點(diǎn)”的需求——這個(gè)按鈕在這個(gè)頁(yè)面要大一點(diǎn),那個(gè)卡片在那個(gè)頻道要換一種布局。如果組件庫(kù)設(shè)計(jì)得太死板,這些需求就要靠“覆蓋樣式”來(lái)實(shí)現(xiàn),久而久之就背離了組件庫(kù)的初衷。

我現(xiàn)在的做法是:把組件庫(kù)分為“核心樣式”和“主題變量”兩層。核心樣式是穩(wěn)定不變的,保證組件的基本功能和結(jié)構(gòu);主題變量暴露給業(yè)務(wù)方,允許他們?cè)诳煽胤秶鷥?nèi)調(diào)整視覺(jué)表現(xiàn)。同時(shí)提供一套清晰的覆蓋指南,告訴開(kāi)發(fā)者什么可以改、什么不該改、怎么改最安全。

這種分層設(shè)計(jì),既保證了組件庫(kù)的權(quán)威性,又給了業(yè)務(wù)方足夠的靈活性。它背后的思考是:架構(gòu)不是用來(lái)限制人的,而是用來(lái)指導(dǎo)人的。好的架構(gòu)應(yīng)該像交通規(guī)則——不是不讓你開(kāi)車,而是讓你開(kāi)得更安全、更順暢。

可維護(hù)性:寫(xiě)給未來(lái)的自己

搭建CSS架構(gòu)的時(shí)候,我經(jīng)常問(wèn)自己一個(gè)問(wèn)題:半年后的我,或者半年后的新同事,看到這段樣式代碼,能理解當(dāng)時(shí)的設(shè)計(jì)意圖嗎?

這個(gè)問(wèn)題的答案,決定了架構(gòu)的成敗。我發(fā)現(xiàn),很多CSS架構(gòu)的崩塌,不是因?yàn)榧夹g(shù)選型錯(cuò)了,而是因?yàn)槿狈ξ臋n、缺乏規(guī)范、缺乏代碼審查的機(jī)制。每個(gè)人按自己的理解寫(xiě),每個(gè)人覺(jué)得“稍微打破一下規(guī)則也沒(méi)事”,慢慢地,架構(gòu)就變成了擺設(shè)。

所以在搭建電商UI體系時(shí),我把很大一部分精力放在了“非代碼”的部分。寫(xiě)組件庫(kù)使用文檔、制定樣式規(guī)范、建立Code Review檢查清單、在CI里加樣式lint規(guī)則。這些看起來(lái)“務(wù)虛”的工作,恰恰是架構(gòu)能長(zhǎng)期存續(xù)的保障。

寫(xiě)在最后

CSS架構(gòu)這件事,說(shuō)大不大,說(shuō)小不小。它不像JavaScript框架那樣“炫技”,也不像Webpack配置那樣“硬核”,但它決定了前端項(xiàng)目長(zhǎng)期維護(hù)的幸福感。

搭建電商UI體系的過(guò)程,讓我明白了一個(gè)道理:好的CSS架構(gòu),用戶是感知不到的。用戶不會(huì)因?yàn)槟阌昧薆EM就夸你,不會(huì)因?yàn)槟阌性O(shè)計(jì)令牌就多買(mǎi)一件商品。但如果沒(méi)有這些,用戶可能會(huì)因?yàn)轫?yè)面錯(cuò)亂、樣式怪異而離開(kāi)。

好的架構(gòu),就是讓所有糟糕的事情不發(fā)生。這大概就是CSS架構(gòu)的終極意義——做那個(gè)在幕后默默撐起一切的“隱形腳手架”。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    534

    瀏覽量

    26629
  • CSS
    CSS
    +關(guān)注

    關(guān)注

    0

    文章

    112

    瀏覽量

    15570
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    2022全新版!Java分布式架構(gòu)設(shè)計(jì)與開(kāi)發(fā)實(shí)戰(zhàn)(完結(jié))

    2022全新版!Java分布式架構(gòu)設(shè)計(jì)與開(kāi)發(fā)實(shí)戰(zhàn)(完結(jié)) 分庫(kù)分表實(shí)戰(zhàn):Java海量數(shù)據(jù)存儲(chǔ)架構(gòu)設(shè)計(jì) 在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,隨著業(yè)務(wù)規(guī)模的指數(shù)級(jí)增長(zhǎng),數(shù)據(jù)庫(kù)性能瓶頸已成為制約
    發(fā)表于 03-30 15:20

    X (Twitter) 推薦系統(tǒng)架構(gòu)設(shè)計(jì)深度解析

    推薦系統(tǒng)到底是如何理解海量用戶與內(nèi)容的?本期文章帶你深入 X (前 Twitter) 推薦算法庫(kù)的底層源碼。解構(gòu)推薦系統(tǒng)關(guān)鍵的“漏斗型”架構(gòu)——從高效的雙塔召回到復(fù)雜精妙的 Transformer
    的頭像 發(fā)表于 02-25 23:56 ?5069次閱讀

    《Altium Designeder 25電路設(shè)計(jì)實(shí)踐》+讀后感

    《Altium Designeder 25電路設(shè)計(jì)實(shí)踐》+讀后感 感謝發(fā)燒友電子論壇提供的機(jī)會(huì),能夠有幸讀到這本書(shū),通讀一遍后,發(fā)現(xiàn)該書(shū)將Altium Designeder 25的軟件,重新詳細(xì)
    發(fā)表于 02-24 17:07

    蘑菇車聯(lián)與LG電子達(dá)成戰(zhàn)略合作

    近日,蘑菇車聯(lián)(MOGOX)與全球科技和電子領(lǐng)導(dǎo)企業(yè)LG電子達(dá)成戰(zhàn)略合作,雙方將圍繞自動(dòng)駕駛車輛部署與運(yùn)營(yíng)、數(shù)字道路基礎(chǔ)設(shè)施建設(shè)及城市智能治理等領(lǐng)域加強(qiáng)業(yè)務(wù)協(xié)同與合作,聯(lián)合拓展中韓及全球自動(dòng)駕駛市場(chǎng)。蘑菇車聯(lián)總裁付強(qiáng)、LG電子CTO本部副總裁KIM HAKSEONG出席簽
    的頭像 發(fā)表于 02-04 09:40 ?434次閱讀

    【NPU實(shí)戰(zhàn)】在迅為RK3588上玩轉(zhuǎn)YOLOv8:目標(biāo)檢測(cè)與語(yǔ)義分割一站式部署指南

    【NPU實(shí)戰(zhàn)】在迅為RK3588上玩轉(zhuǎn)YOLOv8:目標(biāo)檢測(cè)與語(yǔ)義分割一站式部署指南
    的頭像 發(fā)表于 12-12 14:30 ?6291次閱讀
    【NPU<b class='flag-5'>實(shí)戰(zhàn)</b>】在迅為RK3588上<b class='flag-5'>玩轉(zhuǎn)</b>YOLOv8:目標(biāo)檢測(cè)與語(yǔ)義分割一站式部署指南

    【迅為RK3568開(kāi)發(fā)板NPU實(shí)戰(zhàn)】別再閑置你的NPU!手把手教你玩轉(zhuǎn)RKNN-Toolkit2 的使用

    【迅為RK3568開(kāi)發(fā)板NPU實(shí)戰(zhàn)】別再閑置你的NPU!手把手教你玩轉(zhuǎn)RKNN-Toolkit2 的使用
    的頭像 發(fā)表于 11-11 14:21 ?1341次閱讀
    【迅為RK3568開(kāi)發(fā)板NPU<b class='flag-5'>實(shí)戰(zhàn)</b>】別再閑置你的NPU!手把手教你<b class='flag-5'>玩轉(zhuǎn)</b>RKNN-Toolkit2 的使用

    新西蘭-中國(guó)友好協(xié)會(huì)蒞臨蘑菇車聯(lián)參觀交流

    2025年9月24日上午,新西蘭-中國(guó)友好協(xié)會(huì)主席麥克·道森代表團(tuán)一行及北京市東城區(qū)相關(guān)領(lǐng)導(dǎo)蒞臨蘑菇車聯(lián)參觀交流,蘑菇車聯(lián)相關(guān)負(fù)責(zé)人陪同接待。雙方圍繞物理世界AI大模型MogoMind、城市級(jí)AI網(wǎng)絡(luò)建設(shè)、L4級(jí)自動(dòng)駕駛車輛性能以及中新科技合作前景等話題展開(kāi)深入探討。
    的頭像 發(fā)表于 09-30 11:28 ?986次閱讀

    Arm正式取消Cortex命名!CPU向著高算力進(jìn)發(fā),Lumex CSS平臺(tái)加持!

    工智能 (AI) 體驗(yàn)的先進(jìn)計(jì)算平臺(tái)。 ? CSS是Arm推出的計(jì)算子系統(tǒng),針對(duì)不同的應(yīng)用領(lǐng)域,提供包括Arm Neoverse 計(jì)算子系統(tǒng)、面向汽車行業(yè)的 Arm?Zena、面向移動(dòng)市場(chǎng)的 Arm
    的頭像 發(fā)表于 09-17 08:25 ?3218次閱讀
    Arm正式取消Cortex命名!CPU向著高算力進(jìn)發(fā),Lumex <b class='flag-5'>CSS</b>平臺(tái)加持!

    蘑菇 API 接口:開(kāi)啟時(shí)尚電商個(gè)性化推薦新潮流

    在當(dāng)今數(shù)字化時(shí)代,時(shí)尚電商平臺(tái)正經(jīng)歷著前所未有的變革。蘑菇作為中國(guó)領(lǐng)先的時(shí)尚社交電商平臺(tái),憑借其創(chuàng)新的 API 接口,正在引領(lǐng)個(gè)性化推薦的新潮流。這篇文章將逐步解析蘑菇 API 接
    的頭像 發(fā)表于 09-04 15:19 ?774次閱讀

    Arm Zena CSS加速軟件和芯片開(kāi)發(fā)進(jìn)程

    Arm 控股有限公司(納斯達(dá)克股票代碼:ARM,以下簡(jiǎn)稱 Arm)近期宣布推出 Arm Zena 計(jì)算子系統(tǒng) (Compute Subsystems, CSS)。作為標(biāo)準(zhǔn)化且預(yù)先集成的計(jì)算平臺(tái)
    的頭像 發(fā)表于 08-25 16:22 ?2198次閱讀

    Energy Absolute一行參訪蘑菇車聯(lián)

    近日,東南亞最大電動(dòng)商用車制造商Energy Absolute一行參訪蘑菇車聯(lián)(MOGO.AI),深入了解蘑菇車聯(lián)在AI大模型、AI網(wǎng)絡(luò)與自動(dòng)駕駛領(lǐng)域的融合應(yīng)用實(shí)踐。圍繞自動(dòng)駕駛巴士業(yè)務(wù)
    的頭像 發(fā)表于 06-16 17:36 ?1123次閱讀

    鴻蒙5開(kāi)發(fā)寶藏案例分享---應(yīng)用架構(gòu)實(shí)戰(zhàn)技巧

    大家好! 今天咱們聊聊鴻蒙開(kāi)發(fā)中那些“官方文檔提了但實(shí)際開(kāi)發(fā)難找”的架構(gòu)設(shè)計(jì)技巧。結(jié)合官方文檔,我會(huì)用 真實(shí)代碼案例+通俗講解 ,幫你把分層架構(gòu)和線程通信落地到項(xiàng)目里,告別“理論會(huì)了,代碼不會(huì)
    發(fā)表于 06-12 16:14

    蘑菇車聯(lián)與日照市達(dá)成戰(zhàn)略合作

    近日,日照市與蘑菇車聯(lián)信息科技有限公司(以下簡(jiǎn)稱 “蘑菇車聯(lián)”)簽署戰(zhàn)略合作協(xié)議。雙方圍繞AI大模型在自動(dòng)駕駛及智慧交通領(lǐng)域的應(yīng)用賦能開(kāi)展深度合作,助力日照市成為全國(guó)自動(dòng)駕駛智慧旅游標(biāo)桿城市,打造AI網(wǎng)絡(luò)與自動(dòng)駕駛?cè)诤蠎?yīng)用“日照樣板”。
    的頭像 發(fā)表于 05-30 15:40 ?938次閱讀

    零死角玩轉(zhuǎn)STM32——系統(tǒng)

    本文共4冊(cè),由于資料內(nèi)存過(guò)大,分開(kāi)上傳,有需要的朋友可以去主頁(yè)搜索下載哦~ 《零死角玩轉(zhuǎn) STM32》系列教程由初級(jí)篇、中級(jí)篇、高級(jí)篇、系統(tǒng)篇、四個(gè)部分組成,更適合初學(xué)者,步步為營(yíng),從入門(mén)到精通
    發(fā)表于 05-21 14:08

    UC3854 功率因數(shù)校正設(shè)計(jì)全攻略:從理論實(shí)戰(zhàn)

    【限時(shí)下載】UC3854 功率因數(shù)校正(PFC)設(shè)計(jì)全攻略:從理論實(shí)戰(zhàn),工程師必備技術(shù)手冊(cè) *附件:《UC3854 功率因數(shù)校正設(shè)計(jì)全攻略:從理論實(shí)戰(zhàn)》.pdf 為什么工程師必須掌
    的頭像 發(fā)表于 04-09 15:35 ?1636次閱讀
    UC3854 功率因數(shù)校正設(shè)計(jì)全攻略:從<b class='flag-5'>理論</b>到<b class='flag-5'>實(shí)戰(zhàn)</b>