回覆列表
  • 1 # 做前端的蝸牛

    我是一名前端,看了這個問題並且看了你說的這篇文章,我來說說我的觀點!

    首先我們談談CSS的類名語義化,我個人覺得這就是一個命名規範的問題!

    如上圖,這是一個普通的頁面,我們可以根據頁面的功能劃分為header、nav、list、footer這個四個部分,然後再對細節部分做劃分!如果你對CSS做了模組化,可以這樣命名class:

    header-x1-x2

    nav-x1-x2

    list-x1-x2

    footer-x1-x2

    資料夾有幾級,名字可以用橫線拼接,當然也可以是駝峰法!

    這樣的好處非常明顯,維護方便,查詢樣式更方便,但是看見‘語義化’這三個字你就應該感覺到它很業務,它可以快速適應業務迭代,對於新人的學習成本非常小,大家在瀏覽器中一眼就能識別這個樣式在哪個檔案中,根本無需sourceMap!

    再來說說你說的這篇文章Challenging CSS Best Practices,直接用文中例子:

    特點很明顯,對樣式的作用切割的很細緻,幾乎一個類名包含一個樣式,而且命名也是根據樣式的作用來取的!這樣的優點是:複用性強,冗餘程式碼非常少,類名很少發生級聯!

    對比兩種開發css規範(已經超出了類名的命名規範的範疇),你可以發現:

    1、語義化適用於很業務的場景,開發者無論新人還是老人都能信手拈來,開發成本和維護成本小,但是一個class具體包含的樣式呈現不受控制

    2、對於UI框架和元件類的模板很適用於第二種方案,但是對開發者的能力要求會更高,可能開發前要制定各種各樣的base class,而且還要牢記於心

    一句話,還是要看自己的業務場景進行技術選型!

  • 2 # 愛碼農

    我覺得語義化的命令還是必要的。幾乎每個網站都有自己寫的原生的部分(沒有使用框架之類),這個部分還是使用與本身網站業務相應的語義化命名比較好,這樣能夠讓別人或者自己易於理解。

    至於框架,如bootstrap使用樣式的正交性這類的命名,我覺得這算是最大化公共類名。

    就像最大公約數那樣。

    css不寫在html樣式中,一個主要原因是為了是關注點分離。內容與樣式的分離。讓程式碼看起來整潔,方便閱讀。

  • 中秋節和大豐收的關聯?
  • 賈躍亭從風光無限的樂視老闆變成今天這樣是因為什麼?