關於CSS的書寫規範和順序

来源:https://www.cnblogs.com/lamian77/archive/2019/10/09/11642674.html
-Advertisement-
Play Games

關於CSS的書寫規範和順序,是大部分前端er都必須要攻剋的一門關卡,如果沒有按照良好的CSS書寫規範來寫CSS代碼,會影響代碼的閱讀體驗。這裡總結了一個CSS書寫規範、CSS書寫順序供大家參考,這些是參考了國外一些文章以及我的個人經驗總結出來,我想對寫CSS的前端用戶來說是值得學習的。 CSS書寫順 ...


關於CSS的書寫規範和順序,是大部分前端er都必須要攻剋的一門關卡,如果沒有按照良好的CSS書寫規範來寫CSS代碼,會影響代碼的閱讀體驗。這裡總結了一個CSS書寫規範、CSS書寫順序供大家參考,這些是參考了國外一些文章以及我的個人經驗總結出來,我想對寫CSS的前端用戶來說是值得學習的。

 

 CSS書寫順序                      

 

 1.位置屬性  (position, top, right, z-index, display, float等)
 2.大小  (width, height, padding, margin)
 3.文字系列  (font, line-height, letter-spacing, color- text-align等)
 4.背景  (background, border等)
 5.其他  (animation, transition等)

 

   

 

 CSS書寫規範                      

 


 

 使用CSS縮寫屬性

 CSS有些屬性是可以縮寫的,比如padding,margin,font等等,這樣精簡代碼同時又能提高用戶的閱讀體驗。

 

  

 


 

 去掉小數點前的“0”

 

  

 


 

 簡寫命名

 很多用戶都喜歡簡寫類名,但前提是要讓人看懂你的命名才能簡寫哦!

 

  

 


 

 16進位顏色代碼縮寫

 有些顏色代碼是可以縮寫的,我們就儘量縮寫吧,提高用戶體驗為主。

 

  

 


 

 連字元CSS選擇器命名規範

 1.長名稱或片語可以使用中橫線來為選擇器命名。

 2.不建議使用“_”下劃線來命名CSS選擇器,為什麼呢?

  • 輸入的時候少按一個shift鍵;
  • 瀏覽器相容問題 (比如使用_tips的選擇器命名,在IE6是無效的)
  • 能良好區分JavaScript變數命名(JS變數命名是用“_”)

 

  

 


 

 不要隨意使用Id

 id在JS是唯一的,不能多次使用,而使用class類選擇器卻可以重覆使用,另外id的優先順序優先與class,所以id應該按需使用,而不能濫用。

 

  

 


 

 為選擇器添加狀態首碼

 有時候可以給選擇器添加一個表示狀態的首碼,讓語義更明瞭,比如下圖是添加了“.is-”首碼。

 

  

 

 CSS書寫順序                     

 


 

 常用的CSS命名規則

 頭:header
 內容:content/container
 尾:footer
 導航:nav
 側欄:sidebar
 欄目:column
 頁面外圍控制整體佈局寬度:wrapper
 左右中:left right center
 登錄條:loginbar
 標誌:logo
 廣告:banner
 頁面主體:main
 熱點:hot
 新聞:news
 下載:download
 子導航:subnav
 菜單:menu
 子菜單:submenu
 搜索:search
 友情鏈接:friendlink
 頁腳:footer
 版權:copyright
 滾動:scroll
 內容:content
 標簽:tags
 文章列表:list
 提示信息:msg
 小技巧:tips
 欄目標題:title
 加入:joinus
 指南:guide
 服務:service
 註冊:regsiter
 狀態:status
 投票:vote
 合作伙伴:partner

 


 

 註釋的寫法:

 /* Header */
 內容區
 /* End Header */

 


 

 Id的命名:

 1)頁面結構

 容器: container
 頁頭:header
 內容:content/container
 頁面主體:main
 頁尾:footer
 導航:nav
 側欄:sidebar
 欄目:column
 頁面外圍控制整體佈局寬度:wrapper
 左右中:left right center

 (2)導航

 導航:nav
 主導航:mainnav
 子導航:subnav
 頂導航:topnav
 邊導航:sidebar
 左導航:leftsidebar
 右導航:rightsidebar
 菜單:menu
 子菜單:submenu
 標題: title
 摘要: summary

 (3)功能

 標誌:logo
 廣告:banner
 登陸:login
 登錄條:loginbar
 註冊:register
 搜索:search
 功能區:shop
 標題:title
 加入:joinus
 狀態:status
 按鈕:btn
 滾動:scroll
 標簽頁:tab
 文章列表:list
 提示信息:msg
 當前的: current
 小技巧:tips
 圖標: icon
 註釋:note
 指南:guild
 服務:service
 熱點:hot
 新聞:news
 下載:download
 投票:vote
 合作伙伴:partner
 友情鏈接:link
 版權:copyright

 


 

 註意事項::

 1.一律小寫;
 2.儘量用英文;
 3.不加中槓和下劃線;
 4.儘量不縮寫,除非一看就明白的單詞。

 


 

 CSS樣式表文件命名

 主要的 master.css
 模塊 module.css
 基本共用 base.css
 佈局、版面 layout.css
 主題 themes.css
 專欄 columns.css
 文字 font.css
 表單 forms.css
 補丁 mend.css
 列印 print.css

 

 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、判斷方法 1.判斷是否元素寬高為200的盒子 只需要看:邊框+內邊距+內容寬度/內容高度的值是否等於200 2.判斷是否內容寬高為100的盒子 只需要看:width和heght的值是否等於100 3.判斷是否元素空間寬高為300的盒子 只需要看:外邊距+邊框+內邊距+內容寬度/內容高度的值是否等 ...
  • /約定/ 讓我們輕裝上陣 一個功能頁(Page)的開發通常需要四大塊:配置、代碼、佈局、樣式。 這四大塊承載不同的方面,要獨立不混雜,又要整體融合。於是有了以下約定: 每一塊 獨立的文件、相同的文件名、不同的擴展名。 按約定行事,自動融合。 於是,一個小程式的功能頁 Page,就這樣形成了。 ind ...
  • 23、$refs是什麼東東? 通過在標簽上設置ref屬性,然後在Vue實例方法中可以通過$refs拿到這些標簽,如: 24、對於多級嵌套組件,後代組件如何拿到父級或祖父級,設置更高級別的組件的數據或方法? 使用依賴註入。 provide選項允許我們在當前組件指定我們想要提供給後代組件的數據/方法,比 ...
  • 故障藝術,英文名稱叫glitch,在很多賽博朋克作品中經常看到,其實就是故意表現一種顯示設備的小故障效果,抖音的圖標其實就是這種的效果,我們看下這個圖標 這個圖標中的紅色和藍色的偏移其實就是一種故障藝術,看到這個,我就能想到早年我家還沒有有線電視時,搖天線對電視信號的場景,信號一差就是對著電視一陣拳 ...
  • 作為前端,在工作中難免會遇到關於排版的問題,以下是我整理的一些關於CSS的技巧,希望對你能有幫助。 1、每個單詞的首字母大寫 一般我們會用JS實現,其實CSS就可以實現。 JS代碼: var str = 'hello world'; str.replace(/( |^)[a z]/g,(L)= L. ...
  • 1.引入外部樣式表的格式: <link rel=”stylesheet” type=”text/css” href=”../css/style1.css”> 2.樣式表第一行應註明編碼類型: @charset “utf-8”; 3.css語法: ①一個元素中多個屬性用分號隔開,多個元素之間用逗號隔開 ...
  • 在前端裡面,大家都知道,html中輸入空格或換行是識別不了是空格的,但是有時候需要實現,那麼該如何解決呢?主要有以下幾個方面: 1:常用的轉義:&nbsp; 2:使用全形拼音,然後輸入空格也可實現 3:用標簽 pre實現(一般很少用了) 4:用css text-indent實現(這個一般用於時間段首 ...
  • 1. _proto_和prototype prototype屬性是一個靜態屬性, _proto_屬性是一個實例屬性。 prototype表示類的原型對象,_proto_表示原型對象中定義的內部屬性[prototype]的值。 類的每一個實例都有一個_proto_屬性,用於引用創建它的構造方法的pro ...
一周排行
    -Advertisement-
    Play Games
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...