CSS常用布局

一、CSS兩欄布局

首先圃验,假如HTML中有以下結構:

1.png

2.png

1.絕對定位

那么,想讓他們呈現(xiàn)兩欄布局细燎,我們可以子元素設置絕對定位两曼,而在他們父元素增加相對定位,示例代碼如下:

3.png

2.浮動

  • 讓頁面實現(xiàn)兩欄布局找颓,可以在需要兩欄布局的元素的父元素上加一個clearfix的類合愈,然后讓所有子元素都float:left叮贩;就可以了击狮,示例代碼如下:
4.png
  • 也可以觸發(fā)第二個元素BFC,實現(xiàn)兩欄布局益老,設置overflow:hidden;那么第二個元素可以不需要width彪蓬,而自適應頁面的寬度,示例代碼如下:
5.png

二捺萌、CSS三欄布局(以下僅列出5種方法)

三欄布局档冬,一般為兩邊固定,中間自適應的布局桃纯,效果圖如下:

6.png

1.flex布局(2種)

  • 簡單實用酷誓,但不能兼容IE8及以下瀏覽器。
  • 首先在父元素上設置flex态坦,然后在子元素上設置屬性
  • 方法一:設置中間的盒子flex:1盐数;即: flex-grow 值,flex-shrink 取 1伞梯,flex-basis 取 0%玫氢,此時中間的盒子是可以隨著頁面的比例自適應的:


    7.png
  • 方法二:設置兩邊盒子有寬度,可以縮小谜诫,中間的盒子可以在頁面有剩余空間放大漾峡,并且由于mid元素在html結構中靠前,可以優(yōu)先被加載出來喻旷,用order屬性讓他在頁面中仍在第二個位置:


    6.1.png

2.float布局

  • 方法一:在需要三欄布局的元素的父元素上加一個clearfix的類生逸,然后讓所有子元素都float:left;就可以了:


    float-1.png
  • 方法二:在第一個且预、第二個元素上分別設置左右浮動,再在第三個元素辣之,也就是需要出現(xiàn)在第二個位置上的元素設置margin-left和margin-right掰伸,來實現(xiàn)三欄布局:


    9.png

3.BFC布局

  • 主要內容無法最先加載,當頁面內容較多時會影響用戶體驗怀估。
  • 設置元素左右浮動狮鸭,通過在元素上設置overflow:hidden合搅,觸發(fā)BFC特性,具有BFC特性的元素可以防止元素被浮動元素遮擋:


    10.png

4.絕對定位布局

  • 方法一:先確定中間的元素位置歧蕉,設置中間的元素的左右margin分別為兩邊元素的寬度灾部,然后給父元素設置position:relative;左右兩個元素設置position:absolute,分別定位在頁面左右兩邊:


    11.png
  • 方法二:直接設置每個元素的絕對定位:


    12.png

5.table的三欄布局

  • 兼容性好惯退,但不能設置欄間距赌髓,且一個單元格變大,兩邊單元格也都會變大催跪;
  • 設置三個元素為表格中的三個元素:


    13.png

    延伸:

  • 除此之外還有grid布局锁蠕,圣杯布局,雙飛翼布局懊蒸,就不一一枚舉荣倾;
  • 當元素高度未知時,BFC骑丸, flex和table布局會自適應舌仍,其他布局方式需要重新設置一些參數(shù)系數(shù)。

三通危、水平居中:

1.對于inline或者inline-block元素铸豁,可以直接設置父元素text-align:center;就可以了。

2.對于單個block元素菊碟,給定margin-left:auto;margin-right:auto;(這個block元素必須有width节芥,浮動元素或且對定位無法使用這個方法),子元素寬度不確定時框沟,

a.可以設置margin-left和margin-right為定值藏古。

b.在元素外加入table標簽,所有的table標簽都要寫上忍燥,包括<tr><td&gt拧晕,然后將該元素寫在<td>內,然后設置margin值為auto梅垄。

3.多個block元素厂捞,可以使用inline-block或者flex布局:

  • 設置為inline-block:設置子元素display:inline-block;父元素text-align:center;
  • 元素寬高未知:(

    a.transform方法,
    +1.png

    flex布局:父元素設置display:flex; justify-content:center;
    子元素要設置max-width队丝。
    (以上方法適用于子元素為浮動靡馁、絕對定位、內聯(lián)元素均可水平居中)

4.居中浮動元素:

  • 運用相對定位和margin:


    +2.png

5.絕對定位元素:

  • 依然是使用margin机久,方法和上面很相似(兩種方法):


    +3.png

    +4.png

四臭墨、垂直居中(七種方法)

  • 前言:如果父元素的height不確定,那么只需要設置padding-top和padding-bottom為一樣的值就可以了膘盖,但是如果確定了胧弛,就很難設置了尤误,以下為常用的其中方法:

1.table自帶功能

將文字放在table標簽的td標簽中就可以直接實現(xiàn)垂直居中了;

2.設置before和after類為100%的父元素高度;所有子元素設置inline-block;vertical-align: middle结缚;也可以用偽類代替before和after類:

14.png

14.01.png

3.div偽裝成table:

15.png

4.margin-top:-50%损晤;

16.png

5.translate:-50%;(通用)

17.png

6.absolute margin auto6聯(lián)合使用:

18.png

7.flex布局(通用)

flex.png

9.

小技巧:

  • CSS代碼可以搜索關鍵詞+generator搜索红竭,搜到了就可以直接復制標準代碼使用尤勋;

參考自:https://zhuanlan.zhihu.com/p/33522591?utm_source=wechat_session&utm_medium=social&utm_oi=817135426103050240

https://jscode.me/t/topic/1936

https://zhuanlan.zhihu.com/p/43860155?utm_source=wechat_session&utm_medium=social&utm_oi=817135426103050240

https://zhuanlan.zhihu.com/p/25068655

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茵宪,隨后出現(xiàn)的幾起案子最冰,更是在濱河造成了極大的恐慌,老刑警劉巖眉厨,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锌奴,死亡現(xiàn)場離奇詭異兽狭,居然都是意外死亡憾股,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門箕慧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來服球,“玉大人,你說我怎么就攤上這事颠焦≌缎埽” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵伐庭,是天一觀的道長粉渠。 經(jīng)常有香客問我,道長圾另,這世上最難降的妖魔是什么霸株? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮集乔,結果婚禮上去件,老公的妹妹穿的比我還像新娘。我一直安慰自己扰路,他們只是感情好尤溜,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汗唱,像睡著了一般宫莱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哩罪,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天授霸,我揣著相機與錄音肥印,去河邊找鬼。 笑死绝葡,一個胖子當著我的面吹牛深碱,可吹牛的內容都是我干的。 我是一名探鬼主播藏畅,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼敷硅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了愉阎?” 一聲冷哼從身側響起绞蹦,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎榜旦,沒想到半個月后幽七,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡溅呢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年澡屡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咐旧。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡驶鹉,死狀恐怖,靈堂內的尸體忽然破棺而出铣墨,到底是詐尸還是另有隱情室埋,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布伊约,位于F島的核電站姚淆,受9級特大地震影響,放射性物質發(fā)生泄漏屡律。R本人自食惡果不足惜腌逢,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疹尾。 院中可真熱鬧上忍,春花似錦、人聲如沸纳本。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽繁成。三九已至吓笙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巾腕,已是汗流浹背面睛。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工絮蒿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叁鉴。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓土涝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親幌墓。 傳聞我的和親對象是個殘疾皇子但壮,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,760評論 1 92
  • 一常侣、前言 HTML常用標簽有 蜡饵、 、 和 以及 胳施、 溯祸、 和 等。雖然標簽種類繁多舞肆,但通常分為兩類:塊級元素(blo...
    JaniceZD閱讀 715評論 3 3
  • css簡單布局 1.左右布局 常用左邊固定焦辅,右邊自適應 實現(xiàn)這樣的布局,我們可能會有如下方法: 浮動布局 flex...
    Sur_lee閱讀 393評論 0 0
  • 一胆绊、左右布局 1.table:table的li實現(xiàn) 實現(xiàn)原理: table標簽是能夠具有實現(xiàn)左右布局的屬性氨鹏,也是我...
    鼻鼻_0632閱讀 579評論 0 1
  • 1、左右布局 1) float實現(xiàn)压状,左側寬帶固定,右側寬度自適應 核心代碼:左側:width:100px 跟继;flo...
    饑人谷_朱笑笑啊閱讀 880評論 0 23