好程序員分享如何看待CSS中BEM的命名方式?

  好程序員分享如何看待CSS中BEM的命名方式?BEM的意識就是塊(block)、元素(element)、修飾符(modifier),是由yandex團隊提出的一種CSS Class命名方法。css

  任何一個東西的存在都有其存在的道理,若是他毫無價值,那麼確定會被淘汰,後人可能都不瞭解,甚至都不會出如今後人的世界裏。程序員

  關於BEM命名其最大的爭議就是其命名風格,它鼓勵一級一級的寫的很是具體,可是會很長。如此常的命名會影響書寫效率,名稱過長代碼量就會增多,文件體積就會變大(在gzip下這個不算是個問題),從而會影響傳輸速度,用戶體驗度就低,可是做爲一個職業人咱們都不能單純把我的喜愛和習慣做爲藉口來拒絕或否認其用途。編程

  風格對於使用者來講並非很重要,關鍵的是看其效果。正所謂人們常說的「不看療程,看療效」。性能

  從擴展性上來看,嵌套過多閱讀性差,超過3層就很難閱讀了;嵌套越多,選擇器的層級也會隨之增多,那麼性能不知不覺就會變差;如此長的名字,書寫上想衝突都難。學習

  從編程原則上來講,這種命名方式不會暴露抽象類。假如樣式變了須要繼承另外一個抽象類,不須要改HTML,只須要改css便可。繼承

  團隊開發中,風格無非是一種形式,能夠約束人們達到必定程度上的統一。內部溝通會極大下降溝通成本。ip

  BEM命名的方法雖然有自身的不足之處,但至少他可使咱們命名的時候達到必定的統一,咱們能夠學習其優秀的方面將其納爲己用。在實際項目開發中將其巧妙而又靈活的運用起來也何嘗不是一件壞事。element

相關文章
相關標籤/搜索