CSS-編碼規(guī)范--垂直居中--提示欄

不管有多少人共同參與同一項(xiàng)目,一定要確保每一行代碼都像是同一個(gè)人編寫(xiě)的。 ----代碼黃金定律

一鸟蟹、前言

在寫(xiě)css時(shí)油狂,每次都會(huì)遇到是先控制子元素還是先控制父容器健霹;是先把明顯的樣式寫(xiě)出來(lái)(如顏色买置、背景),還是先控制元素位置等等灌闺。自己由于是初學(xué)艰争,沒(méi)有什么固定的書(shū)寫(xiě)規(guī)范,看一些規(guī)范性的文檔桂对,來(lái)規(guī)范自己以后的demo甩卓。

二、html篇

優(yōu)先使用語(yǔ)義化的html
  對(duì)于html的編寫(xiě)蕉斜,我們應(yīng)盡量選擇語(yǔ)義化的額html逾柿,什么是語(yǔ)義化的html呢?簡(jiǎn)單來(lái)說(shuō)就是宅此,使用合適的標(biāo)簽机错,標(biāo)記合適的內(nèi)容。它們可以幫助程序員更好的理解網(wǎng)站中信息的不同方面父腕。但是不要以犧牲實(shí)用性為代價(jià)弱匪。任何時(shí)候都要盡量使用最少的標(biāo)簽并保持最小的復(fù)雜度。

布爾(boolean)型屬性
布爾型屬性可以在聲明時(shí)不賦值璧亮。XHTML 規(guī)范要求為其賦值萧诫,但是 HTML5 規(guī)范不需要斥难。
元素的布爾型屬性如果有值,就是 true帘饶,如果沒(méi)有值哑诊,就是 false。
如果一定要為其賦值的話及刻,請(qǐng)參考 WhatWG 規(guī)范:
如果屬性存在镀裤,其值必須是空字符串或 [...] 屬性的規(guī)范名稱(chēng),并且不要在首尾添加空白符缴饭。簡(jiǎn)單來(lái)說(shuō)暑劝,就是不用賦值。

對(duì)于屬性值的命名
  應(yīng)基于功能命名茴扁、基于內(nèi)容命名铃岔、基于表現(xiàn)命名,使表達(dá)簡(jiǎn)略峭火、明了,方便閱讀html智嚷。

常見(jiàn)的屬性值命名
.wrap或.wrapper -- 用于外側(cè)包裹
.container或 .ct -- 包裹容器
.header -- 用于頭部
.body -- 頁(yè)面 body
.footer -- 頁(yè)面尾部
aside卖丸、sidebar -- 用于側(cè)邊欄
.content -- 和header footer 對(duì)應(yīng),用于主要內(nèi)容
.navigation -- 導(dǎo)航元素
.pagination -- 分頁(yè)

.tabs > .tab -- tab 切換
.breadcrumbs -- 導(dǎo)航列表盏道、面包屑
.dropdown -- 下拉菜單
.article -- 文章
.main -- 用于主體
.thumbnail -- 頭像稍浆,小圖像
.media -- 媒體資源
.panel -- 面板
.tooltip -- 鼠標(biāo)放置上去的提示
.popup -- 鼠標(biāo)點(diǎn)擊彈出的提示

.button、.btn -- 按鈕
.ad -- 廣告
.subnav -- 二級(jí)導(dǎo)航
.menu -- 菜單
.tag -- 標(biāo)簽
.message或者.notice -- 提示消息
.summary -- 摘要
.logo -- logo
.search -- 搜索框
.login -- 登錄

.register -- 注冊(cè)
.username -- 用戶(hù)名
.password -- 密碼
.banner -- 廣告條
.copyright -- 版權(quán)
.modal或者 .dialog -- 彈窗

三猜嘱、CSS規(guī)范

語(yǔ)法
tab 用兩個(gè)空格表示
css的 :后加個(gè)空格衅枫, {前加個(gè)空格
每條聲明后都加上分號(hào)
換行,而不是放到一行
顏色用小寫(xiě)朗伶,用縮寫(xiě), #fff
小數(shù)不用寫(xiě)前綴, 0.5s -> .5s弦撩;0不用加單位
盡量縮寫(xiě), margin: 5px 10px 5px 10px论皆; -> margin: 5px 10px;

聲明順序
相關(guān)的屬性聲明應(yīng)當(dāng)歸為一組益楼,并按照下面的順序排列:

Positioning
Box model
Typographic
Visual
  由于定位(positioning)可以從正常的文檔流中移除元素,并且還能覆蓋盒模型(box model)相關(guān)的樣式点晴,因此排在首位感凤。盒模型排在第二位,因?yàn)樗鼪Q定了組件的尺寸和位置粒督。

簡(jiǎn)寫(xiě)形式的屬性聲明
  在需要顯示地設(shè)置所有值的情況下陪竿,應(yīng)當(dāng)盡量限制使用簡(jiǎn)寫(xiě)形式的屬性聲明。常見(jiàn)的濫用簡(jiǎn)寫(xiě)屬性聲明的情況如下:
padding
margin
font
background
border
border-radius
示例:
.element { margin-bottom: 10px; background-color: red; background-image: url("image.jpg"); border-top-left-radius: 3px; border-top-right-radius: 3px; }
  大部分情況下屠橄,我們不需要為簡(jiǎn)寫(xiě)形式的屬性聲明指定所有值族跛。例如捐康,HTML 的 heading 元素只需要設(shè)置上、下邊距(margin)的值庸蔼,因此解总,在必要的時(shí)候,只需覆蓋這兩個(gè)值就可以姐仅。過(guò)度使用簡(jiǎn)寫(xiě)形式的屬性聲明會(huì)導(dǎo)致代碼混亂花枫,并且會(huì)對(duì)屬性值帶來(lái)不必要的覆蓋從而引起意外的副作用。

四掏膏、居中有幾種實(shí)現(xiàn)方式劳翰,給出代碼范例

水平居中
CSS里實(shí)現(xiàn)水平居中非常容易,inline元素用text-align:center;馒疹,block元素用margin:auto;就行了佳簸。
demo:http://js.jirengu.com/judofubevu/1/edit
垂直居中
1、利用table-cell的作用和<td>一樣颖变,在<td>元素的文本是有規(guī)則的左對(duì)齊生均,在默認(rèn)情況下,其父容器display:table;加上vertical-align:middle;
demo:http://js.jirengu.com/gagitezino
說(shuō)明:因?yàn)楦冈氐膶挾茸冃×诵壬玻幌裨瓉?lái)是 100% 的寬度马胧。原因是 table 本質(zhì)上也是 inline 元素,因此現(xiàn)在變成 inline 的父元素衔峰,它的寬度將與子元素的寬度相同佩脊。當(dāng)然,我們也可以為父元素加上 width: 100% 來(lái)強(qiáng)制指定它的寬度垫卤。
2威彰、 利用相對(duì)定位和transform
demo: http://js.jirengu.com/qaqarodajo/1/edit
3、利用flex穴肘,彈性布局歇盼。先將元素定義為彈性容器,其子元素則成為彈性項(xiàng)目梢褐。值 flex 使彈性容器成為塊級(jí)元素旺遮。justify-content: center;使元素居中;flex-direction: column;使子元素與父容器主軸起始點(diǎn)一致盈咳。不過(guò)使用flex耿眉,IE11才開(kāi)始支持。
demo:http://js.jirengu.com/zuzupoquji/2/edit
4鱼响、可以使用calc()為一個(gè)對(duì)象設(shè)置一個(gè)左右兩邊相等的外邊距鸣剪,calc()的另外一個(gè)用例是用來(lái)確保一個(gè)域的大小適合當(dāng)前的可用空間,而不會(huì)在保持合適的外邊距的同時(shí),因擠壓超出其容器的邊緣。
demo:http://js.jirengu.com/fadisucefi/1/edit
5、 絕對(duì)定位實(shí)現(xiàn)垂直居中利用transform筐骇,或者不用债鸡,使用margin-left代替也行。只要知道寬高铛纬,如果不知道厌均,就用transform。
demo:http://js.jirengu.com/bowaqabafu/1/edit

五告唆、實(shí)現(xiàn)如下效果棺弊,每種效果都只使用一個(gè)html 標(biāo)簽來(lái)實(shí)現(xiàn) 效果范例

用三種不同的方法,創(chuàng)建相同的樣式擒悬。
demo:http://js.jirengu.com/vofeyenuzi/5/edit

參考資料:
1模她、https://google.github.io/styleguide/htmlcssguide.html#General_Style_Rules
2、http://codeguide.bootcss.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末懂牧,一起剝皮案震驚了整個(gè)濱河市侈净,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌僧凤,老刑警劉巖畜侦,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異拼弃,居然都是意外死亡夏伊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)吻氧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人咏连,你說(shuō)我怎么就攤上這事盯孙。” “怎么了祟滴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵振惰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我垄懂,道長(zhǎng)骑晶,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任草慧,我火速辦了婚禮桶蛔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漫谷。我一直安慰自己仔雷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著碟婆,像睡著了一般电抚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竖共,一...
    開(kāi)封第一講書(shū)人閱讀 51,231評(píng)論 1 299
  • 那天蝙叛,我揣著相機(jī)與錄音,去河邊找鬼公给。 笑死借帘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妓布。 我是一名探鬼主播姻蚓,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼匣沼!你這毒婦竟也來(lái)了狰挡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤释涛,失蹤者是張志新(化名)和其女友劉穎加叁,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體唇撬,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡它匕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窖认。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豫柬。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖扑浸,靈堂內(nèi)的尸體忽然破棺而出烧给,到底是詐尸還是另有隱情,我是刑警寧澤喝噪,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布础嫡,位于F島的核電站,受9級(jí)特大地震影響酝惧,放射性物質(zhì)發(fā)生泄漏榴鼎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一晚唇、第九天 我趴在偏房一處隱蔽的房頂上張望巫财。 院中可真熱鬧,春花似錦缺亮、人聲如沸翁涤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)葵礼。三九已至号阿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸳粉,已是汗流浹背扔涧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留届谈,地道東北人枯夜。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像艰山,于是被迫代替她去往敵國(guó)和親湖雹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

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

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案曙搬? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評(píng)論 1 92
  • 收聽(tīng)音頻,戳鏈接,舊號(hào)itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號(hào)可收聽(tīng)更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,172評(píng)論 3 30
  • 1.絕對(duì)定位居中技術(shù) 我們一直用margin:auto實(shí)現(xiàn)水平居中摔吏,而一直認(rèn)為margin:auto不能實(shí)現(xiàn)垂直居...
    DecadeHeart閱讀 1,604評(píng)論 0 3
  • 談了一次失敗的戀愛(ài),覺(jué)得整個(gè)人都老了纵装,忽然意識(shí)到自己不再是一個(gè)孩子征讲,很現(xiàn)實(shí)。
    DoraemansDora閱讀 121評(píng)論 0 0
  • 第一次這么主動(dòng)地去玩一個(gè)游戲橡娄,主動(dòng)地去理解一個(gè)手游里面的許多設(shè)定诗箍,收獲還是非常多的。 刀塔傳奇挽唉,構(gòu)建在dota角...
    Centlin閱讀 367評(píng)論 1 3