CSS 彈性布局如何實現

2021-07-25 09:59:40 字數 989 閱讀 3128

**:

背景

首先,我們有**布局。當不考慮語義並且利用一些適當的巢狀和其他技巧,我們可以用table建立具有一定功能的布局。

然後是現在大多數人都在使用的浮動布局。我們可以使用任何我們想用的元素,但浮動並不適用於初學者。表面上它看起來很基礎,但背後複雜的功能可以使經驗豐富的開發者看著自己的螢幕不知所措。另外,浮動布局有乙個缺點就是需要通過額外的元素清除浮動,或者更好一點,可以清除css浮動而不新增額外的標籤。

這些缺點使得浮動布局不是很容易掌握,因為沒有乙個預設的方法可以建立起浮動與元素之間的關係,所以我們還需要更多的方法來實現多欄等高布局。

然後有些人開始使用display: table,display: table-cell等,但由於直到ie8 internet explorer瀏覽器才支援,人們似乎放棄了而只是接受float作為實際解決方案。

介紹彈性盒模型布局模組(aka flex box)

有乙個隱藏的利器,就是大多數人似乎已經忽視的彈性盒模型布局模組。它提供了:

乙個簡單的例子

當我們想要顯示乙個三欄布局,我們會這樣做:

i am column 1

i am column 2

i am column 3

.flex-container
我們使用display屬性把容器元素設為 box,然後我們用box-orient屬性,將它設定水平(你也可以使用vertical設為垂直)。

用這個方法,直接子元素(如等)將被乙個接乙個水平放置,它們的寬度由它們的內容決定。但是如果我們想用自適應的方法讓它們擴充套件到整個容器元素的寬度該怎麼辦呢?那麼我們就需要為它們設定box-flex:

.col-1 

.col-2

.col-3

css 彈性布局

什麼是彈性布局?flex布局,是h5新出的布局方式,主要代替傳統float浮動布局。注意 布局要給父元素設定,子元素按照布局方式排列,他會使塊級元素不獨佔一行。特點 當沒有給彈性布局設定換行時,子元素不會自動換行會在一行顯示。display flex 設定彈性布局 flex direction 設定...

CSS 彈性布局

box box box 基本概念 row 預設值 主軸為水平方向,起點在左端。row reverse 主軸為水平方向,起點在右端。column 主軸為垂直方向,起點在上沿。column reverse 主軸為垂直方向,起點在下沿。nowrap 預設 不換行 wrap 換行,第一行在上方 wrap r...

Css 彈性布局

彈性布局 display flex 要發生彈性布局的子元素,他們的父元素,成為容器需設定display flex flex將塊級元素設定為容器 inline flex將行內元素設定為容器 元素設定為flex容器後,容器的text align,vertical align失效設定主軸的方向 flex ...