CSS:
選擇器用法:
.類名 //類選擇器
id名 //id 選擇器
.類名 元素名 //后代選擇器,包含子元素和子元素的子元素
.類名>元素名 //子元素選擇器,只包含子元素
&類名 //夫選擇器,選擇 &+類名 的全部元素
Less:
變量:
@width: 10px;
@height: @width + 10px;
header {
width: @width;
height: @height;
}
混合:
.bordered {
border-top: dotted 1px black;
border-bottom: solid 2px black;
}
menu a {
color: #111;
.bordered();
}
.post a {
color: red;
.bordered();
}
嵌套:
header {
color: black;
}
header .navigation {
font-size: 12px;
}
header .logo {
width: 300px;
}
可改寫為:
header {
color: black;
.navigation {
font-size: 12px;
}
.logo {
width: 300px;
}
}
CSS:
設(shè)置一個(gè)元素覆蓋在另一個(gè)元素之上:
z-index:-1;
設(shè)置元素相對(duì)于父視圖水平居中:
margin: auto;
設(shè)置元素相對(duì)于父視圖垂直居中:
首先給父視圖一個(gè)固定高度:
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
子視圖設(shè)置居中:
{
position: relative; /設(shè)置position屬性/
top: 50%; /相對(duì)于父視圖偏移父視圖高度的 50%/
transform: translateY(-50%);/相對(duì)于自己的高度向上偏移50%/
}
js:
html:
組件的首字母必須大寫,否則會(huì)不顯示
其他:
index.js 是每個(gè)文件夾默認(rèn)的入口文件
index.js 里可以直接寫頁面的代碼,不需要新建整體頁面
編碼規(guī)范:
前端規(guī)范
(一)HTML規(guī)約
1.【強(qiáng)制】HTML元素標(biāo)簽一律小寫。
2.【強(qiáng)制】HTML元素都必須正確結(jié)束。
3.【強(qiáng)制】不得為id、class選擇器添加類型選擇器進(jìn)行限定。
4.【推薦】選擇器的嵌套層級(jí)應(yīng)不大于3級(jí),位置靠后的限定條件應(yīng)盡可能精確。
5.【推薦】盡量不在HTML中直接使用STYLE。
說明:多數(shù)情況下,頁面中直接使用STYLE,會(huì)導(dǎo)致樣式不易管理、不能復(fù)用,并會(huì)使頁面結(jié)構(gòu)較亂,因此不建
議在頁面中直接使用STYLE。
6.【推薦】合理運(yùn)用多種HTML標(biāo)簽、標(biāo)簽語義化
說明:
每一種HTML標(biāo)簽均有其使用場景,應(yīng)該靈活的在不同場景下使用適當(dāng)?shù)臉?biāo)簽,例如顯示無序列表時(shí),使用ul更
加合理,而不是在任何時(shí)候,僅僅使用div、a等幾種標(biāo)簽;
不要使用純樣式標(biāo)簽,如b(文本加粗)、font(規(guī)定字體格式)、u(下劃線文本)、i(規(guī)定斜體文本)等,使用css代替;
此外,標(biāo)簽的合理使用,會(huì)使得頁面結(jié)構(gòu)更加清楚;
(二)CSS編碼規(guī)約
1.【強(qiáng)制】頁面的私有樣式必須包含在頁面的私有樣式命名空間里面,私有樣式必須
全部小寫,以下劃線“_”分割單詞,盡量使用有意義的單詞命名,例如:
“meesage_title”。
2.【強(qiáng)制】公共樣式必須包含在公共樣式文件中,統(tǒng)一以中劃線“-”分割。
3.【推薦】屬性書寫順序:
按功能進(jìn)行分組,并以FormattingModel(布局方式、位置)>BoxModel(尺寸)>Typographic(文本
相關(guān))>Visual(視覺效果)的順序書寫,以提高代碼可讀性。
FormattingModel相關(guān)屬性包括:position/top/right/bottom/left/float/display/overflow等
BoxModel相關(guān)屬性包括:border/margin/padding/width/height等
Typographic相關(guān)屬性包括:font/line-height/text-align/word-wrap等
Visual相關(guān)屬性包括:background/color/transition/list-style等
4.【強(qiáng)制】0和單位,省略0后面的單位,省略0開頭小數(shù)點(diǎn)前面的0。
.test{
margin:0;
padding:0;
font-size:.8em;
}
5.【強(qiáng)制】長度為0時(shí)須省略單位。(也只有長度單位可省)。
正例:body{padding:05px;}//
反例:body{padding:0px5px;}//
6.【強(qiáng)制】RGB顏色值必須使用十六進(jìn)制,全小寫形式。不允許使用rgb()。帶有alpha
的顏色信息可以使用rgba()。
7.【強(qiáng)制】顏色值可以縮寫時(shí),必須使用縮寫形式。
正例:.success{background-color:#aca;}//
反例:.success{background-color:#aaccaa;}//
8.【強(qiáng)制】最好使用CSS預(yù)處理器,比如SCSS.
9.【強(qiáng)制】保持你的CSS選擇器簡短。
10.【強(qiáng)制】CSSclass命名時(shí)應(yīng)該描述內(nèi)容,而不是外觀。
正例:class=“danger”
反例:class=“red“
11.【強(qiáng)制】聲明完結(jié),所有聲明都要用“;”結(jié)尾。
正例
.test{
display:block;
height:100px;
}
反例
.test{
display:block;
height:100px
}
12.【強(qiáng)制】將您的樣式與HTML代碼解耦,即行為與表現(xiàn)分離,嚴(yán)格保持結(jié)構(gòu)(標(biāo)記),
表現(xiàn)(樣式),和行為(腳本)分離,并盡量讓這三者之間的交互保持最低限度。
13.【強(qiáng)制】屬性選擇器或?qū)傩灾涤秒p引號(hào)(“”),而不是單引號(hào)(“)括起來。
14.【強(qiáng)制】URI值(url())不要使用引號(hào)。
15.【推薦】一般情況下ID不應(yīng)該被用于樣式,并且ID的權(quán)重很高,所以不使用ID解決
樣式的問題,而是使用class。
正例
.content>.title{
font-size:2em;
}
反例
content>.title{
font-size:2em;
}
16.【建議】盡量少用選擇器。
17.【嚴(yán)禁】使用內(nèi)聯(lián)樣式
說明:
對(duì)開發(fā)者來說,樣式與html分離,有助于后期更改一個(gè)新的樣式(也可以說新的主題,很多ui框架都是直接切
換主題的)
對(duì)瀏覽器來說,樣式文件由于是單獨(dú)文件,可以在本地建立一個(gè)緩存,有利于加快訪問網(wǎng)頁。
對(duì)服務(wù)器來說,如果樣式文件瀏覽器減少加載,那么服務(wù)器就可以減少下載流量,可以節(jié)約服務(wù)器帶寬。
(三)JavaScript編碼規(guī)
1.【強(qiáng)制】變量命名規(guī)范
駝峰式命名,駝峰式命名法由小寫字母開始,后續(xù)每個(gè)單詞首字母都大寫。
命名方法:小駝峰式命名法。
命名規(guī)范:前綴應(yīng)當(dāng)是名詞。(函數(shù)的名字前綴為動(dòng)詞,以此區(qū)分變量和函數(shù))。
命名建議:盡量在變量名字中體現(xiàn)所屬類型,如:length、count等表示數(shù)字類型;而包含name、title表示為字
符串類型。
正例
varmaxCount=10;
vartableTitle='LoginTable';
反例
varsetCount=10;
vargetTitle='LoginTable';
2.【強(qiáng)制】函數(shù)命名規(guī)范
命名方法:小駝峰式命名法。
命名規(guī)范:前綴應(yīng)當(dāng)為動(dòng)詞。
命名建議:可使用常見動(dòng)詞約定
例:是否可閱讀
functioncanRead(){
returntrue;
}
例:獲取名稱
functiongetName(){
returnthis.name;
}
3.【強(qiáng)制】常量命名規(guī)范
命名方法:名稱全部大寫。
命名規(guī)范:使用大寫字母和下劃線來組合命名,下劃線用以分割單詞。
例:
varMAX_COUNT=10;
varURL='http://www.baidu.com';
4.【強(qiáng)制】使用外部服務(wù)(針對(duì)Angular項(xiàng)目)
命名方法:下劃線開頭,小寫字母,下劃線組合。
constructor(private_http:HttpService){}
編碼時(shí)一定注意寫好注釋,尤其JS,做到主要代碼、方法、參數(shù)的行行注釋說明,便于其他同事了解你做此功能
的思路,避免代碼的冗余,造成性能問題,盡量做到高內(nèi)聚低耦合。
//單行注釋
/*
*函數(shù)說明
*@paramid{string}:查詢主鍵
*@returnvoid
*@authorzhangyi2018-12-19
*/
5.【強(qiáng)制】單一職責(zé),一個(gè)文件只定義一個(gè)組件。
6.【強(qiáng)制】給獨(dú)立子模塊使用唯一的命名。
7.【推薦】用一個(gè)命名函數(shù)而不是通過一個(gè)匿名函數(shù)作為回調(diào)函數(shù)。
8.【推薦】使用模塊時(shí)避免使用變量代替的應(yīng)該是鏈?zhǔn)秸Z法