入門13 CSS綜合

CSS編碼規(guī)范

  • 命名規(guī)范:
    語義化標(biāo)簽優(yōu)先泄伪;基于功能命名殴蓬、基于內(nèi)容命名、基于表現(xiàn)命名臂容;簡(jiǎn)略科雳、明了、無后患
常見命名1
    .wrap or .wrapper -- 用于外側(cè)包裹
    .container or .ct -- 包裹容器
    .header -- 用于頭部
    .body -- 頁面 body
    .footer -- 頁面尾部
    .aside or .sidebar -- 用于側(cè)邊欄
    .content -- 和header footer 對(duì)應(yīng),用于主要內(nèi)容
    .navigation -- 導(dǎo)航元素
    .pagination -- 分頁
常見命名2
    .tabs > .tab -- tab 切換
    .breadcrumbs -- 導(dǎo)航列表、面包屑
    .dropdown -- 下拉菜單
    .article -- 文章
    .main -- 用于主體
    .thumbnail -- 頭像,小圖像
    .media -- 媒體資源
    .panel -- 面板
    .tooltip -- 鼠標(biāo)放置上去的提示
    .popup -- 鼠標(biāo)點(diǎn)擊彈出的提示
常見命名3
    .button、.btn -- 按鈕
    .ad -- 廣告
    .subnav -- 二級(jí)導(dǎo)航
    .menu -- 菜單
    .tag -- 標(biāo)簽
    .message或者.notice -- 提示消息
    .summary -- 摘要
    .logo -- logo
    .search -- 搜索框
    .login -- 登錄
常見命名4
    .register -- 注冊(cè)
    .username -- 用戶名
    .password -- 密碼
    .banner -- 廣告條
    .copyright -- 版權(quán)
    .modal或者 .dialog -- 彈窗
常見命名5
var 名字 = { 
     狀態(tài): [ 'inverse', 'toggled', 'switched', 'original', 'initial', 'identified',  'disabled', 'loading', 'pending', 'syncing', 'default' ], 
     修飾: [ 'dark', 'light', 'shaded', 'flat', 'ghost', 'maroon', 'pale', 'intense', 'twisted', 'narrow', 'wide', 'smooth', 'separate', 'clean', 'sharp', 'aligned' ], 
     元素: [ 'pagination', 'modal', 'popup', 'article', 'story', 'flash', 'status', 'state', 'media', 'block', 'card', 'teaser', 'badge', 'label', 'sheet', 'poster', 'notice', 'record', 'entry', 'item', 'figure', 'square', 'module', 'bar', 'button', 'action', 'knob' ], 
     布局: [ 'navigation', 'wrapper', 'inner', 'header', 'footer', 'aside', 'section', 'divider', 'content', 'container', 'panel', 'pane', 'construct', 'composition', 'spacing', 'frame' ] }
  • 書寫規(guī)范:
  1. 用兩個(gè)空格來代替制表符(tab) -- 這是唯一能保證在所有環(huán)境下獲得一致展現(xiàn)的方法琴庵。
  2. 為選擇器分組時(shí)庆寺,將單獨(dú)的選擇器單獨(dú)放在一行。
  3. 為了代碼的易讀性撩匕,在每個(gè)聲明塊的左花括號(hào)前添加一個(gè)空格扁凛。
  4. 聲明塊的右花括號(hào)應(yīng)當(dāng)單獨(dú)成行。
  5. 每條聲明語句的:后應(yīng)該插入一個(gè)空格洗出。
  6. 為了獲得更準(zhǔn)確的錯(cuò)誤報(bào)告隅茎,每條聲明都應(yīng)該獨(dú)占一行。
  7. 所有聲明語句都應(yīng)當(dāng)以分號(hào)結(jié)尾玻佩。最后一條聲明語句后面的分號(hào)是可選的,但是,如果省略這個(gè)分號(hào),你的代碼可能更易出錯(cuò)。
  8. 對(duì)于以逗號(hào)分隔的屬性值沼头,每個(gè)逗號(hào)后面都應(yīng)該插入一個(gè)空格(例如, box-shadow)陶因。
  9. 不要在rgb()贴见、rgba()廊鸥、hsl()缘回、hsla()rect()值的內(nèi)部的逗號(hào)后面插入空格丰滑。這樣利于從多個(gè)屬性值(既加逗號(hào)也加空格)中區(qū)分多個(gè)顏色值(只加逗號(hào),不加空格)胃碾。
  10. 對(duì)于屬性值或顏色參數(shù)峦朗,省略小于 1 的小數(shù)前面的 0 (例如迄埃,.5
    代替0.5叠赦;-.5px代替-0.5px)糯累。
  11. 十六進(jìn)制值應(yīng)該全部小寫,例如慕的,#fff。在掃描文檔時(shí)熔号,小寫字符易于分辨弟头,因?yàn)樗麄兊男问礁子趨^(qū)分饺窿。盡量使用簡(jiǎn)寫形式的十六進(jìn)制值,例如舵稠,用#fff代替#ffffff超升。
  12. 為選擇器中的屬性添加雙引號(hào),例如哺徊,input[type="text"]室琢。只有在某些情況下是可選的,但是落追,為了代碼的一致性盈滴,建議都加上雙引號(hào)。
  13. 避免為 0 值指定單位轿钠,例如巢钓,用margin: 0;代替margin: 0px;
  • 聲明順序:
    相關(guān)的屬性聲明應(yīng)當(dāng)歸為一組疗垛,并按照下面的順序排列:
    1. Positioning(布局方式症汹、位置):position / top / right / bottom / left / float / display / overflow
    2. Box model(盒模型、尺寸):border / margin / padding / width / height
    3. Typographic(文本相關(guān)):font / line-height / text-align / word-wrap
    4. Visual(視覺效果):background / color / transition / list-style

由于定位(positioning)可以從正常的文檔流中移除元素贷腕,并且還能覆蓋盒模型(box model)相關(guān)的樣式背镇,因此排在首位。盒模型排在第二位泽裳,因?yàn)樗鼪Q定了組件的尺寸和位置瞒斩。
其他屬性只是影響組件的內(nèi)部(inside)或者是不影響前兩組屬性,因此排在后面涮总。

垂直居中有4種實(shí)現(xiàn)方式

  • 上下padding相等實(shí)現(xiàn)居中
html
<body>
  <div class="content">
    <p>我愛學(xué)習(xí)胸囱,學(xué)習(xí)使我快樂</p>
    <p>我愛學(xué)習(xí),學(xué)習(xí)使我快樂</p>
    <p>我愛學(xué)習(xí)瀑梗,學(xué)習(xí)使我快樂</p>
    <p>我愛學(xué)習(xí)旺矾,學(xué)習(xí)使我快樂</p>
  </div>
</body>
css
.content {
  border: 1px solid red;
  margin: 20px auto;
  padding: 50px 0;
  text-align: center;
}
.content>p {
  border: 1px solid green;
}
上下padding相等
  • 絕對(duì)定位實(shí)現(xiàn)居中
html
<body>
  <div class="dialog">
    <header>來自網(wǎng)頁的消息:</header>
    <p>歡迎來到饑人谷~最有愛的前端學(xué)習(xí)社區(qū)~~</p>
  </div>
</body>
css
.dialog {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -120px;
  margin-top: -80px;
  width: 240px;
  height: 160px;
  border: 1px solid #ddd;
  border-radius: 10px;
  box-shadow: 0 0 3px #aaa;
}
.dialog>header {
  padding: 10px;
  background: #000;
  border-radius: 9px 9px 0 0;
  color: #fff;
}
.dialog>p {
  padding: 20px;
}
絕對(duì)定位

注:當(dāng)widthheight屬性不固定時(shí)蔑鹦,可用transform: translate(-50%,-50%)代替margin-left: ; margin-right: ;

  • vertical-align:middle實(shí)現(xiàn)居中
html
<div class="box">
   ![](http://upload-images.jianshu.io/upload_images/6426975-67235bded916bb39.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 </div>
css
.box {
  width: 400px;
  height: 200px;
  border: 1px solid orange;
  text-align: center;
}
.box:before {
  content:"";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.box>img {
  width: 180px;
  vertical-align: middle;
  background: #a0a0a0;
}
vertical-align
  • table-cell實(shí)現(xiàn)居中
html同上
css
.box {
  width: 400px;
  height: 200px;
  border: 1px solid orange;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}
.box>img {
  width: 180px;
  background: #a0a0a0;
}
效果同上

實(shí)現(xiàn)如下效果

效果范例

代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市箕宙,隨后出現(xiàn)的幾起案子嚎朽,更是在濱河造成了極大的恐慌,老刑警劉巖柬帕,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哟忍,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡陷寝,警方通過查閱死者的電腦和手機(jī)锅很,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凤跑,“玉大人爆安,你說我怎么就攤上這事∽幸” “怎么了扔仓?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)咖耘。 經(jīng)常有香客問我翘簇,道長(zhǎng),這世上最難降的妖魔是什么儿倒? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任版保,我火速辦了婚禮,結(jié)果婚禮上夫否,老公的妹妹穿的比我還像新娘彻犁。我一直安慰自己,他們只是感情好凰慈,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布袖裕。 她就那樣靜靜地躺著,像睡著了一般溉瓶。 火紅的嫁衣襯著肌膚如雪急鳄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天堰酿,我揣著相機(jī)與錄音疾宏,去河邊找鬼。 笑死触创,一個(gè)胖子當(dāng)著我的面吹牛坎藐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼岩馍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼碉咆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蛀恩,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤疫铜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后双谆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壳咕,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年顽馋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谓厘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寸谜,死狀恐怖竟稳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熊痴,我是刑警寧澤他爸,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站愁拭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏亏吝。R本人自食惡果不足惜岭埠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蔚鸥。 院中可真熱鬧惜论,春花似錦、人聲如沸止喷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弹谁。三九已至乾巧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間预愤,已是汗流浹背沟于。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留植康,地道東北人旷太。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親供璧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子存崖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 各種純css圖標(biāo) CSS3可以實(shí)現(xiàn)很多漂亮的圖形,我收集了32種圖形睡毒,在下面列出来惧。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,476評(píng)論 0 8
  • 移動(dòng)開發(fā)基本知識(shí)點(diǎn) 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,453評(píng)論 0 6
  • H5移動(dòng)端知識(shí)點(diǎn)總結(jié) 閱讀目錄 移動(dòng)開發(fā)基本知識(shí)點(diǎn) calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,395評(píng)論 0 26
  • 我曾經(jīng)很想念一個(gè)人 我以為只是曾經(jīng) 沒想 時(shí)至今日 我還是會(huì)常常想念同一個(gè)人 一條街如果盡頭很遠(yuǎn) 花草樹木會(huì)不會(huì) ...
    零啟閱讀 370評(píng)論 0 0
  • 科學(xué)研究已經(jīng)證實(shí)趁曼,大多數(shù)癌癥的病因與生活方式有關(guān)。美國癌癥研究所出版的《癌癥止步》一書中就指出棕洋,77%的癌癥根源在...
    芳芳健康分享閱讀 450評(píng)論 0 0