關於Html class id 命名規範
CSS命名規則
頭:header
內容:content/containe
尾:footer
導航:nav
側欄:sidebar
欄目:column
頁面外圍控制整體布局寬度:wrapper
左右中:left right center
登錄條:loginbar
標誌:logo
廣告:banner
頁面主體:main
熱點:hot
新聞:news
下載:download
子導航:subnav
菜單:menu
子菜單:submenu
搜索:search
友情鏈接:friendlink
頁腳:footer
版權:copyright
滾動:scroll
內容:content
標簽頁:tab
文章列表:list
提示信息:msg
小技巧:tips
欄目標題:title
加入:joinus
指南:guild
服務:service
註冊:regsiter
狀態:status
投票:vote
合作夥伴:partner
XHTML文件中id的命名
(1)頁面結構
容器: container
頁頭:header
內容:content/container
頁面主體:main
頁尾:footer
導航:nav
側欄:sidebar
欄目:column
頁面外圍控制整體布局寬度:wrapper
左右中:left right center
(2)導航
導航:nav
主導航:mainbav
子導航:subnav
頂導航:topnav
邊導航:sidebar
左導航:leftsidebar
右導航:rightsidebar
菜單:menu
子菜單:submenu
標題: title
摘要: summary
(3)功能
標誌:logo
廣告:banner
登陸:login
登錄條:loginbar
註冊:regsiter
搜索:search
功能區:shop
標題:title
加入:joinus
狀態:status
按鈕:btn
滾動:scroll
標簽頁:tab
文章列表:list
提示信息:msg
當前的: current
小技巧:tips
圖標: icon
註釋:note
指南:guild
服務:service
熱點:hot
新聞:news
下載:download
投票:vote
合作夥伴:partner
友情鏈接:link
版權:copyright
CSS+DIV的命名規則:
登錄條:loginBar
標誌:logo
側欄:sideBar
廣告:banner
導航:nav
子導航:subNav
菜單:menu
子菜單:subMenu
搜索:search
滾動:scroll
頁面主體:main
內容:content
標簽頁:tab
文章列表:list
提示信息:msg
小技巧:tips
欄目標題:title
友情鏈接:friendLink
頁腳:footer
加入:joinus
指南:guild
服務:service
熱點:hot
新聞:news
下載:download
註冊:regsiter
狀態:status
按鈕:btn
投票:vote
合作夥伴:partner
版權:copyRight
1.CSSID的命名
外套:wrap
主導航:mainNav
子導航:subnav
頁腳:footer
整個頁面:content
頁眉:header
頁腳:footer
商標:label
標題:title
主導航:mainNav(globalNav)
頂導航:topnav
邊導航:sidebar
左導航:leftsideBar
右導航:rightsideBar
旗誌:logo
標語:banner
菜單內容1:menu1Content
菜單容量:menuContainer
子菜單:submenu
邊導航圖標:sidebarIcon
註釋:note
面包屑:breadCrumb(即頁面所處位置導航提示)
容器:container
內容:content
搜索:search
登陸:login
功能區:shop(如購物車,收銀臺)
當前的current
2.樣式文件命名
主要的:master.css
布局版面:layout.css
專欄:columns.css
文字:font.css
打印樣式:print.css
主題:themes.css
說明:均為class,需要擴展,則在當前命名內以“_“(下劃線)後綴自定名稱。
我習慣稱列表頁為list,新聞列表則為newslist,圖片列表為piclist,
內容頁為view,
/**/
整體大框架:#wrapper
大框架內:#inwrapper
/////////////////////////////////////////////////////////////////////////////////////////////////////////
頂部及banner:.top
頂部及banner內:.intop
Logo:.logo
Banner:.banner
導航:.menu
導航內:.inmenu
.Menuul
.Menuul li
.Menuul li a
下拉菜單:.inmenu_xiala
.Inmenu_xialaul
.Inmenu_xialaul li
.Inmenu_xialaul li a
///////////////////////////////////////////////////////////////////////////////////////////////////////////
主體內容:.mainWrapper
主體內容內:.inmainwrapper
左側攔:.sideleft
左側內:.insideleft
右側欄:.sideright
右側內:.insideright
中間:.sidecenter
中間內:.insidecenter
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
底部:.foot
底部內:.infoot
////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*其他命名*/
搜索:.search
搜索內:.insearch
搜索條:.searchselect
搜索按鈕:.serachbuttom
輸入文本框:.input
.select
/*表格樣式*/
表格整體框架:.listbox
表格的寬度:.listbox-table
表格頭部文字樣式:.listbox-header
表格正文文字樣式:.listbox-entry
/*通用型*/
通用:.GM/*這個有點郁悶,英文太差...*/
通用內:.INGM
通用左浮動:.GMfl(GM FLOAT LEFT)
通用右浮動:.GMfr(GM FLOAT RIGHT)
/*通用圖片樣式*/
通用圖片樣式:.img
/*清除浮動*/
清除所有浮動:.clear
清除左側浮動:.clearleft
清除右側浮動:.clearright
/*文字樣式*/
文字:.font
/*新聞列表*/
新聞列表:.fontnews
/*View頁字體總樣式*/
VIEW頁字體:.fontview
商 標: label
標 題: title
主導航: mainbav(globalnav)
頂導航: topnav
邊導航: sidebar
左導航: leftsidebar
右導航: rightsidebar
旗 誌: logo
標 語: banner
菜單內容1: menu1 content
菜單容量: menu container
子菜單: submenu
邊導航圖標:sidebarIcon
註釋: note
面包屑: breadcrumb(即頁面所處位置導航提示)
容器: container
內容: content
搜索: search
登陸: Login
功能區: shop(如購物車,收銀臺)
當前的 current
報頭: masthead
摘要, 概要 summary或general
左邊的浮動照圖片 photoleft
右邊的浮動圖片 photoright
標題 title
條目底端 entrybottom
更多 extended或.more
容器背景 containerbg
服務 service
服務鏈接 servicelink
線 line
文本 text
右邊 rightside
版權 copyright
新聞 news
書皮 wrapper
介紹 intro-part1
專欄 column
路徑 pathways
片斷 section
模塊 module
上導航 subnav
2.另外在編輯樣式表時可用的註釋可這樣寫:
<-- Footer -->
內容區
<-- End Footer -->
3.樣式文件命名
主要的 master.css
布局,版面 layout.css
專欄 columns.css
文字 font.css
打印樣式 print.css
主題 themes.css
4.樣式表中的註示
實例一
/* GLOBAL --------------------------- */
/* LINKS --------------------------- */
/* FORMS --------------------------- */
/* IDS --------------------------- */
/* HEADER --------------------------- */
/* COLUMN 1 --------------------------- */
/* COLUMN 2 --------------------------- */
/* CLASSES --------------------------- */
實例二
HTML
實例三(網易)
CSS
#UrsLogin
#LogoNav
#Column
#Content1
#bNav
#Copyright
#UrsLogin
#LogoNav
#SearchArea
#ChannelArea
#HotNews
#NewsCenter
.keyword
#MallArea
#city
#aboutus
……………………
常見命名
包含 wrapper和container
頁頭 header 或縮寫為hd
頁尾 footer 或縮寫為ft
導航 nav
您的位置 breadcrumbs
二級導航 sub_nav
側欄 sidebar或side-column
模塊 module
數據庫中的命名規則
數據庫涉及字符規則
采用26個英文字母(區分大小寫)和0 -9這十個自然數,加上下劃線_組成,共63個字符。不能出現其他字符(註釋除外)。
數據庫對象命名規則
數據庫對象包括表、視圖(查詢)、存儲過程(參數查詢)、函數、約束。對象名字由前綴和實際名字組成,長度不超過30。前綴:使用小寫字母。
例如:表-tb 視圖-vi 存儲過程-sp 函數-fn
實際名字
實際名字盡量描述實體的內容,由單詞或單詞組合,每個單詞的首字母大寫,其他字母小寫,不以數字和_開頭。
例如:表 User_Info 視圖 UserList 存儲過程 UserDelete
因此,合法的對象名字類似如下。
表 tbUser_Info、tbMessage_Detail
視圖 vi_MessageList
存儲過程 sp_MessageAdd
數據庫表命名規則
字段由前綴和實際名字組成。實際名字中首單詞一個系統盡量采取同一單詞。
前綴:使用小寫字母tb,表示表。
例如:tbMember tbMember_Info tbForum_Board tbForum_Thread1
字段命名規則
數字、字符、日期/時間、lob(大對象)、雜項,字段由表的簡稱、下劃線,實際名字加後綴組成。
後綴:使用小寫字母,代表該字段的屬性。
例如: User_Idint User_Namestr User_RegDatedtm
視圖命名規則
字段由前綴和實際名字組成,中間用下劃線連接。
前綴:使用小寫字母vi,表示視圖。
例如:vi_User vi_UserInfo
存儲過程命名規則
字段由前綴和實際名字組成,中間用下劃線連接。
前綴:使用小寫字母sp,表示存儲過程。
例如:sp_User
數據庫設計文檔規則
所有數據庫設計要寫成文檔,文檔以模塊化形式表達。大致格式如下:
‘-------------------------------------------
‘ 表名: tbUser_Info
‘ 建立人:UAM_Richard
‘ 日期: 2004-12-17
‘ 版本: 1.0
‘ 描述: 保存用戶資料
‘ 具體內容:
‘ UserId int,自動增量 用戶代碼
‘ UserName char(12) 用戶名字
‘ ......
‘--------------------------------------------
CSS類及id中的命名規則
Web開發人員可以通過創建CSS類及id名稱並使用這些名稱來對div以及其他的格式頁面元素進行標識。對開發人員來說,在命名重新定義XHTML標記(tags)的CSS selectors時,必須保證其與預定義的標記準確匹配,但就類以及id選擇器名稱而言,則仁者見仁,智者見智。然而隨心所欲的為這些類以及id命名則並不是個好的習慣。
1、直觀命名
當在設計Web頁面以及需要對一個div進行標識的時候,最自然的想法就是使用可以描述元素所在頁面位置的詞匯來對其命名。
例如:top-panel
horizontal-nav
left-side
center-column
right-col
這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡單並且能夠使人顧名思義,因此滿足了標識頁面元素以及相應的CSS樣式的需要。
但問題是這樣的名稱同頁面內容的特定表達方式相關聯。這些命名參考了某種特定頁面布局中的頁面元素位置,因此在這樣的布局之外使用就會顯得不合適甚至造成理解混亂。這些命名沒有涉及文檔內容的結構。因此,下面給出了對CSS類以及ID命名更好的方法。
2、結構化命名
這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡單並且能夠使人顧名思義,因此滿足了標識頁面元素以及相應的CSS樣式的需要。 這些是CSS以及XHTML類和id的有效命名方式。這些詞匯簡單並且能夠使人顧名思義,因此滿足了標識頁面元素以及相應的CSS樣式的需要。
有標記的相關信息都是用來描述文檔的結構而不是外觀。這樣的特點使得我們可以通過簡單的改變CSS的方式來對不同外觀格式下的內容(content)以及標記(markup)進行重用。當你理解這種方式時,很容易就可以發現采用頁面位置來為類以及id命名的方式在處理如音頻(audio)等外觀格式上顯得非常不合適。因此,應當根據在文檔中的使用目的而非出現位置來對類以及id進行結構化命名。
可以按照如下所示的結構化方式來對類以及id名稱命名:
例如:branding
main-nav
subnav
main-content
sidebar
這些名字同直觀命名方式一樣非常易懂,但他們描述了頁面元素的作用而非位置。這使得代碼更加符合使用純粹的結構化標記(structural markup)的初衷,即開發人員可以在不改變標記的情況下對各種各樣媒體下的顯示格式進行處理。
即使你不打算在其他的媒體上對Web頁面進行格式修改,使用結構化命名方式還可以幫助你在日後的站點升級或重新設計中更為輕松。例如,結構化命名避免了當一個div同id right-column移動到頁面左邊後所帶來的混亂。對div sidebar的采用這樣的命名方式就顯得更加適當,因為無論它出現在頁面的哪一邊,這個名字仍然對開發人員來說直觀易懂。
3、慣例
Andy Clarke分析了40份由推崇標準化Web設計理念的開發人員所設計的Web站點的源代碼。盡管類以及id名稱很不統一,但是還是發現了一些頻繁出現的常用名稱。這裏給出了最常用類/id名稱的示例列表:
例如:header
content
nav
sidebar
footer
3.基於成員的命名規範
基於成員的命名規範是指按照文件,文件夾的從屬關系,通過歸類的方法進行命名,這樣可以使文件的排列具有較強的邏輯性.
例如:一個圖片文件是在鼠標點擊之前為"file_on".而在點擊後的圖片文件命名為"file_off"根據這個類別命名.更加的清晰.
4.基於屬性的命名規範
例如:裝飾性小圖片按照"<圖片內容說明>_<顏色>_<圖片尺寸>_<序號>.*"來表現.這個為"heart_red_401*334_1.jpg"
5.基於序數的命名規範
在網頁中一般為了減少圖片的下載時間把圖片分隔成一小部分,組成一個整體圖.這時可以用二維數組的方式命名.
例如:
這個圖片為"donghua_11.jpg"
這個圖片為"donghua_12.jpg"
這個圖片為"donghua_21.jpg"
這個圖片為"donghua_22.jpg"
這些組成一幅圖片.
6.基於枚舉的命名規範
第一個為書的側面為"ddd_cemian.jpg"
第二個為書的封皮為"ddd_fengpi.jpg"
第三個為書的封底為"ddd_fengdi.jpg"
還有的網站上圖片的欣賞也有不同的大小,可根據用戶的意願查看.
例如:"ddd_cemian_401*334.jpg"和"ddd_cemian_1024*768.jpg"
這些供大家建設網站參考.
為避免代碼沖突(這樣做也會讓你的代碼更為通用),就要使用命名法則,這是一個很好的編程習慣。好啦,這裏介紹一些常用的法則。
◆命名變量、方法、以及屬性
變量、方法和屬性的名稱的第一個字母應該大寫,並且名稱應該能表達出它們的用途(或者說是意義)。
變量
.NET 命名
匈牙利命名
描述
Cstring
EmployeeName
szName
Name of an employee.
Int
AttendanceCounter
nCounter
A counter of type long.
Long
NumberOfBytes
lBytes
A long type variable stores bytes.
有時我們習慣於在定義中使用下劃線 "_",例如: Add_Data(int a, int b). 按照新的命名法則,這不是一個好的編程習慣,雖然它並沒有錯。你應該將定義 Add_Data 改為 AddData。 這不是微軟的標準,你也不是必須按照這些法則。但是,在一些地方你會明白下邊這些法則的合理性。
就我個人而言,我更喜歡匈牙利命名法。當然,變量也使用同樣的法則。如果你記得匈牙利命名法的話,一個布爾型的變量定義以"b"打頭,比如:
BOOL bFlag = TRUE;
新的法則不推薦使用Flag 和 "b":
bool IsFileFound = true;
你可以瀏覽一下MSDN,那裏邊有更多有關新的法則的說明。
◆命名組件以及集合(Assemblies)
為避免代碼沖突, 按照命名法則給你的庫(在 .NET 中稱為assembly)命名是一個良好的編程習慣。假定你是MindCracker 公司的,你在開發一個用於擴充C# database 類的庫, 把它的名字命名為MindCracker.DatabaseAssembly.ADOSet 要比MyAssembly.Database.ADOSet好的多。
再假定你的庫有一個方法,它是從表中讀取數據,並返回一個數據集。你如果取名為 DataSet return_data()的話,改為DataSet ReturnData()好啦.
你還應該在命名中遵循一個統一的單詞順序。例如,你有倆個表,分別為Employee 和 Manager ,並且你還為它們分別定義了一個向表裏邊插入一條記錄的方法, 那麽方法名AppendEmployee 和 AppendManager 要比AppendEmployee 和 ManagerAppend要好。
我更喜歡的二種方法,因為很容易清楚一個塊兒結構和嵌套塊兒結構。
◆匈牙利命名法(efoxxx附)
匈牙利命名法是一名匈牙利程序員發明的,而且他在微軟工作了多年。此命名法就是通過微軟的各種產品和文檔傳出來的。多數有經驗的程序員,不管他們用的是哪門兒語言,都或多或少在使用它
這種命名法的基本原則是:
變量名=屬性+類型+對象描述
即一個變量名是由三部分信息組成,這樣,程序員很容易理解變量的類型、用途,而且便於記憶。
下邊是一些推薦使用的規則例子,你可以挑選使用,也可以根據個人喜好作些修改再用之。
⑴屬性部分:
全局變量: g_
常量 : c_
類成員變量: m_
⑵類型部分:
指針: p
句柄: h
布爾型: b
浮點型: f
無符號: u
⑶描述部分:
初始化: Init
臨時變量: Tmp
目的對象: Dst
源對象: Src
窗口: Wnd
將介紹匈牙利命名法,後面的例子裏也會盡量遵守它和上面的代碼風格。還是那句話,並不是要求所有的讀者都要去遵守,但是希望讀者作為一個現代的軟件開發人員都去遵守它。
a Array 數組
b BOOL (int) 布爾(整數)
by Unsigned Char (Byte) 無符號字符(字節)
c Char 字符(字節)
cb Count of bytes 字節數
cr Color reference value 顏色(參考)值
cx Count of x (Short) x的集合(短整數)
dw DWORD (unsigned long) 雙字(無符號長整數)
f Flags (usually multiple bit values) 標誌(一般是有多位的數值)
fn Function 函數
g_ global 全局的
h Handle 句柄
i Integer 整數
l Long 長整數
lp Long pointer 長指針
m_ Data member of a class 一個類的數據成員
n Short int 短整數
p Pointer 指針
s String 字符串
sz Zero terminated String 以0結尾的字符串
tm Text metric 文本規則
u Unsigned int 無符號整數
ul Unsigned long (ULONG) 無符號長整數
w WORD (unsigned short) 無符號短整數
x,y x, y coordinates (short) 坐標值/短整數
v void 空
下邊舉例說明:
hwnd: h表示句柄,wnd表示窗口,合起來為“窗口句柄”。
m_bFlag: m表示成員變量,b表示布爾,合起來為:“某個類的成員變量,布爾型,是一個狀態標誌”。
C# .net 命名規範
一個好的命名規範如此難找,還是自己收藏一個比較好
1 ADO.NET 命名規範 數據類型 數據類型簡寫 標準命名舉例
Connection con conNorthwind
Command cmd cmdReturnProducts
Parameter parm parmProductID
DataAdapter dad dadProducts
DataReader dtr dtrProducts
DataSet dst dstNorthWind
DataTable dtbl dtblProduct
DataRow drow drowRow98
DataColumn dcol dcolProductID
DataRelation drel drelMasterDetail
DataView dvw dvwFilteredProducts
WinForm Control 命名規範
數據類型 數據類型簡寫 標準命名舉例
Label lbl lblMessage
LinkLabel llbl llblToday
Button btn btnSave
TextBox txt txtName
MainMenu mmnu mmnuFile
CheckBox chk chkStock
RadioButton rbtn rbtnSelected
GroupBox gbx gbxMain
PictureBox pic picImage
Panel pnl pnlBody
DataGrid dgrd dgrdView
ListBox lst lstProducts
CheckedListBox clst clstChecked
ComboBox cbo cboMenu
ListView lvw lvwBrowser
TreeView tvw tvwType
TabControl tctl tctlSelected
DateTimePicker dtp dtpStartDate
HscrollBar hsb hsbImage
VscrollBar vsb vsbImage
Timer tmr tmrCount
ImageList ilst ilstImage
ToolBar tlb tlbManage
StatusBar stb stbFootPrint
OpenFileDialog odlg odlgFile
SaveFileDialog sdlg sdlgSave
FoldBrowserDialog fbdlg fgdlgBrowser
FontDialog fdlg fdlgFoot
ColorDialog cdlg cdlgColor
PrintDialog pdlg pdlgPrint
3 WebControl 命名規範
數據類型 數據類型簡寫 標準命名舉例
AdRotator adrt Example
Button btn btnSubmit
Calendar cal calMettingDates
CheckBox chk chkBlue
CheckBoxList chkl chklFavColors
CompareValidator valc valcValidAge
CustomValidator valx valxDBCheck
DataGrid dgrd dgrdTitles
DataList dlst dlstTitles
DropDownList drop dropCountries
HyperLink lnk lnkDetails
Image img imgAuntBetty
ImageButton ibtn ibtnSubmit
Label lbl lblResults
LinkButton lbtn lbtnSubmit
ListBox lst lstCountries
Panel pnl pnlForm2
PlaceHolder plh plhFormContents
RadioButton rad radFemale
RadioButtonList radl radlGender
RangeValidator valg valgAge
RegularExpression vale valeEmail_Validator
Repeater rpt rptQueryResults
RequiredFieldValidator valr valrFirstName
Table tbl tblCountryCodes
TableCell tblc tblcGermany
TableRow tblr tblrCountry
TextBox txt txtFirstName
ValidationSummary vals valsFormErrors
XML xmlc xmlcTransformResults
.NET中的命名規則
名稱空間的命名
命名名稱空間的一般規則如下:
CompanyName.TechnologyName
這樣,我們看到的名稱空間應該是這樣的:
Microsoft.Office
PowerSoft.PowerBuilder
註意:這只是一個原則。第三方公司可以選擇其它的名字。
避免用公司名稱或其它著名品牌的名稱作為名稱空間的前綴,這樣會造成兩個公布的名稱空間有同一個名稱的可能性。
例如: 將微軟提供的Office自動類命名為Microsoft.Office
使用Pascal大寫方式,用逗號分隔邏輯成分。
例如:Microsoft.Office.PowerPoint
如果你的品牌使用的是非傳統大寫方式,那麽一定要遵循你的品牌所確定使用的大寫方式,即使這種方式背離了通常的名稱空間大寫規則。
例如:NeXT.WebObjects
ee.cummings
類和類成分的命名
類的命名原則是用名詞或名詞短語命名類,使用Pascal大寫。減少類名中縮寫的使用量。不要使用任何類前綴(比如C),不要使用帶下劃線的字符。
例如:public class FileStream {}
public class Button {}
public class String {}
CSS 類和ID的常用命名:
網站頭部: head/header(頭部) top(頂部)導航: nanv 導航具體區分:topnav(頂部導航)、mainnav(主導航)、mininav(迷你導航)、textnav(導航文本)、subnav(子導航/二級導航)
旗幟、廣告和商標:logo(旗幟)、brand(商標)、banner(標語)
搜索:sreach(搜索)、sreachbox(搜索框)、sreachbtn(搜索按鈕)、sreachinput(搜索輸入框)
註冊和登錄:login(登錄)、regsiter(註冊)、userbox(用戶名/通行證的文本框)、password(密碼)
布局、分欄和框: layout(布局)、bigdiv(大div)、leftdiv(左分欄)、rightdiv(右分欄)、leftfloat(左浮動)、rightfloat(右浮動)、mainbox()、subpage(子頁面/二級頁面)
頁腳/底部:foot/footer(頁腳/底部)、copyright(版權信息)、sitemap(網站地圖)
其他:content(內容)、skin(皮膚)、title(標題)、from(表單)、pic(圖片)、news(新聞)、shop(購物區)、list(列表/清單)、newslist(新聞列表)、downloadlist(下載列表)、piclist(圖片列表)、dropmenv(下拉菜單)、cor/corner(圓角)、homepage(首頁)、crumb(當前位置導航)
實際上上面的id命名我會經常用大小寫和_來區分,比如主導航就是MainNav,如果還有必要在區分就是MainNav_1,MainNav_2等等。也可以使用"類型+變量名稱"的規則來命名,比如寫一個紅色字體的class,可以
.f_red {}(f是font 字體的縮寫)。總之原則是:大小寫、_、縮寫,大大增強代碼的可讀性。
另外我還經常使用"in"的寫法做子divd的命名,寫法in+父div,這樣可以避免前面命名過了後面div不知道怎麽去命名。比如intop、inbox、infrom、inlogin等等。
關於Html class id 命名規範