CSS基本使用技巧-布局&居中

在開始之前却音,我們有必要簡單了解一下 css 中那些容易導(dǎo)致 bug 的屬性:

  1. "width:100%;" , 如果有 margin / padding 存在个盆,內(nèi)容常常會(huì)超過界面;
  2. 設(shè)置固定 height, 缺點(diǎn)就是當(dāng)內(nèi)容太多的時(shí)候抄瓦,顯示不完全死宣;
  3. "display:inline-block;" , 會(huì)經(jīng)常出現(xiàn)一些間隔問題,所以每當(dāng)用到這個(gè)的時(shí)候我們都會(huì)響應(yīng)的加上:"vertical-align:top";


進(jìn)入正題

一冤寿、水平布局

水平布局中,我們最常用到的屬性是 float青伤,效果是讓 element 脫離文檔流督怜。

1.left & right

一般我們讓兩個(gè)元素水平左右布局的話,可以設(shè)置一個(gè)元素 float: left; 另一個(gè) float: right;

2.百分比

我們也可以考慮相同方向上的 float狠角,然后設(shè)置 element 的寬為百分比号杠,只要保證水平上的 elements width 之和不大于一就可以實(shí)現(xiàn)水平布局。
這種方式在多個(gè)元素水平布局上就更適合擎厢。

3.position

在父級(jí)元素設(shè)置 postion: relative;究流,然后分別設(shè)置子元素:

.left {
    position: absolute;
    left: 0;
    top: 0;
}
.right {
    postion: absolute;
    right: 0;
    top: 0;
}

注意

1)默認(rèn)情況下辣吃,我們?cè)O(shè)置的 width 只是針對(duì) element 的 content 部分动遭,也就是說,當(dāng)有 padding / margin 存在的時(shí)候神得,element 的實(shí)際占用寬度會(huì)大于設(shè)定值厘惦,這會(huì)導(dǎo)致 element 無法擠到一起水平布局,解決的方法就是:
設(shè)置 box-sizing: border-box,或者把 padding / margin 設(shè)為 0宵蕉;

2)因?yàn)?float 會(huì)讓元素脫離文檔流酝静,就會(huì)出現(xiàn)子元素跑到父元素外部的結(jié)果:


float1

解決的方法:利用 clear 屬性(可以理解為克制 float 屬性)給父元素加上有 clear 屬性的空白內(nèi)容;

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
clearfix

3)還有一個(gè)比較麻煩的問題羡玛,如圖:

對(duì)齊1

本來我們想要的是整齊的 float别智,但是因?yàn)樽筮呍氐淖煮w比右邊的大,整個(gè)元素的方框就比右邊大一點(diǎn)點(diǎn)稼稿,導(dǎo)致下一列的元素卡在了奇怪的位置 ……

解決的辦法就是給每個(gè)元素設(shè)定一樣的 height 或 line-height;

但是薄榛,這又會(huì)導(dǎo)致另一個(gè)問題,我們前面說了設(shè)置固定高度容易導(dǎo)致 bug 就提現(xiàn)在這里让歼,如果我們的內(nèi)容比較多敞恋,就可能會(huì)出現(xiàn)顯示問題。

固定 height

當(dāng)然谋右,我們也可以考慮給每一行的元素套上一個(gè) div 作為一個(gè)整體硬猫,再加上一個(gè)上面提到的 .clearfix class.

其實(shí)還有更好的解決方法,用上 flexbox 改执,這個(gè)以后在討論啸蜜。

二、居中

1.水平居中

1)block elements

對(duì)于 block 元素自身辈挂,設(shè)置左右兩邊 margin 為 auto margin-left: auto; margin-right: auto 可以在父元素內(nèi)水平居中盔性;

2)inline elements
a. 在父級(jí)元素中設(shè)置 text-align: center; 可以讓內(nèi)部的 inline 元素水平居中;
b. 內(nèi)聯(lián)元素設(shè)置左右 padding 為相同值呢岗,可以讓內(nèi)部內(nèi)容居中冕香;
內(nèi)聯(lián)元素這種的居中也有它的優(yōu)點(diǎn):可以自動(dòng)隨著內(nèi)容長度的變化而變化

2.垂直居中

1)設(shè)置相同的上下 padding;
2)設(shè)置 line-height 等于 父元素的 height后豫;

這兩種方式的缺點(diǎn)非常明顯悉尾,父元素里面無法同時(shí)存在其它內(nèi)容。更為高級(jí)的用法在下面挫酿;

3.水平构眯、垂直居中

利用,position 和 transform (translate);

.parent {
    position: relative;
}

.child {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

對(duì)于 block 和 inline 元素都有效早龟!愛怎么調(diào)就怎么調(diào)

4.背景居中

用這個(gè):

background-position: center center;

如果還需要背景的自動(dòng)放縮:

background-size: cover;



(待補(bǔ)充……)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惫霸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子葱弟,更是在濱河造成了極大的恐慌盐碱,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卤唉,死亡現(xiàn)場(chǎng)離奇詭異计盒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門将塑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脉顿,“玉大人,你說我怎么就攤上這事点寥“保” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵敢辩,是天一觀的道長汉柒。 經(jīng)常有香客問我,道長责鳍,這世上最難降的妖魔是什么碾褂? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮历葛,結(jié)果婚禮上正塌,老公的妹妹穿的比我還像新娘。我一直安慰自己恤溶,他們只是感情好乓诽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咒程,像睡著了一般鸠天。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上帐姻,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天稠集,我揣著相機(jī)與錄音,去河邊找鬼饥瓷。 笑死剥纷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呢铆。 我是一名探鬼主播晦鞋,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼棺克!你這毒婦竟也來了悠垛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤娜谊,失蹤者是張志新(化名)和其女友劉穎确买,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體因俐,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拇惋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年周偎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抹剩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撑帖。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖澳眷,靈堂內(nèi)的尸體忽然破棺而出胡嘿,到底是詐尸還是另有隱情,我是刑警寧澤钳踊,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布衷敌,位于F島的核電站,受9級(jí)特大地震影響拓瞪,放射性物質(zhì)發(fā)生泄漏缴罗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一祭埂、第九天 我趴在偏房一處隱蔽的房頂上張望面氓。 院中可真熱鬧,春花似錦蛆橡、人聲如沸舌界。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呻拌。三九已至,卻和暖如春睦焕,著一層夾襖步出監(jiān)牢的瞬間藐握,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工垃喊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趾娃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓缔御,卻偏偏與公主長得像抬闷,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子耕突,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359