国产真实乱了老女人视频,亚洲国产成人片在线观看无码,久久 国产 尿 小便 嘘嘘,97国产精华最好的产品亚洲

剛需房裝修,就找房先森!

愛家熱線 : 400-7997-158

房先森>裝修攻略> 裝修經驗> 正文
免費預約上門驗房量房、裝修設計
使用CSS完成元素居中的七種方法
2016-10-10 636C° 來源:互聯(lián)網JR 標簽: CSS   元素居中   HTML   元素  

【原標題】:

使用CSS完成元素居中的七種方法

【標志詞語】:

元素 方案 教程 容器 瀏覽器 水平 內容 案例……

【正文開始】:

使用CSS完成元素居中的七種方法

● ● ●

在網頁上使 HTML 元素居中看似一件很簡單的事情. 至少在某些情況下是這樣的,但是復雜的布局往往使一些解決方案不能很好的發(fā)揮作用。

在網頁布局中元素水平居中比元素垂直居中要簡單不少,同時實現(xiàn)水平居中和垂直居中往往是最難的?,F(xiàn)在是響應式設計的時代,我們很難確切的知道元素的準確高度和寬度,所以一些方案不大適用。據(jù)我所知, 在CSS中至少有六種實現(xiàn)居中的方法。我將使用下面的HTML結構從簡單到復雜開始講解:

鞋子圖片會改變,但是他們都會保持500pxX500px的大小。 HSL colors 用于使背景顏色保持一致。

使用text-align水平居中

使用CSS完成元素居中的七種方法

有時顯而易見的方案是最佳的選擇:

div.center { text-align: center; background: hsl(0, 100%, 97%);

}

div.center img { width: 33%; height: auto;}

這種方案沒有使圖片垂直居中:你需要給

添加padding或者給內容添加margin-top和margin-bottom使容器與內容之間有一定的距離。


使用 margin: auto 居中

使用CSS完成元素居中的七種方法

這種方式實現(xiàn)水平居中和上面使用text-align的方法有相同局限性。

div.center { background: hsl(60, 100%, 97%);}

div.center img { display: block; width: 33%; height: auto; margin: 0 auto;}

注意: 必須使用display: block使margin: 0 auto對img元素生效。

使用table-cell居中

使用CSS完成元素居中的七種方法

使用display: table-cell, 而不是使用table標簽; 可以實現(xiàn)水平居中和垂直居中,但是這種方法需要添加額外的元素作為外部容器。


使用CSS完成元素居中的七種方法

CSS:

.center-aligned { display: table; background: hsl(120, 100%, 97%); width: 100%;}.center-core { display: table-cell; text-align: center; vertical-align: middle;}

.center-core img { width: 33%; height: auto;}

注意:為了使div不折疊必須加上width: 100%,外部容器元素也需要加上一定高度使得內容垂直居中。給html和body設置高度后,也可以使元素在body垂直居中。此方法在IE8+瀏覽器上生效。

使用absolute定位居中

使用CSS完成元素居中的七種方法

這種 方案 有非常好的跨瀏覽器支持。有一個缺點就是必須顯式聲明外部容器元素的height:

.absolute-aligned { position: relative; min-height: 500px; background: hsl(200, 100%, 97%);}.absolute-aligned img { width: 50%; min-width: 200px; height: auto; overflow: auto; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0;}

Stephen在他的 博客 中演示了這種方案的幾種變化。

使用translate居中

使用CSS完成元素居中的七種方法

Chris Coiyer 提出了一個使用 CSS transforms 的新方案。 同樣支持水平居中和垂直居中:

.center { background: hsl(180, 100%, 97%); position: relative; min-height: 500px;}.center img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 30%; height: auto;}

但是有以下幾種缺點:

CSS transform 在部分就瀏覽器上需要使用 前綴。

不支持 IE9 以下的瀏覽器。

外部容器需要設置height(或者用其他方式設置),因為不能獲取 絕對定位 的內容的高度。

如果內容包含文字,現(xiàn)在的瀏覽器合成技術會使文字模糊不清。

使用Flexbox居中

使用CSS完成元素居中的七種方法

當新舊語法差異和瀏覽器前綴消失時,這種方法會成為主流的居中方案。

.center { background: hsl(240, 100%, 97%); display: flex; justify-content: center; align-items: center;}.center img { width: 30%; height: auto;}

在很多方面 flexbox 是一種簡單的方案, 但是它有新舊兩種語法以及早期版本的IE缺乏支持 (盡管可以使用display: table-cell作為降級方案)。

現(xiàn)在規(guī)范已經最終確定,現(xiàn)代瀏覽器也大都支持,我寫了一篇詳細的教程 教程。

使用calc居中

使用CSS完成元素居中的七種方法

在某些情況下比flexbox更全面:

.center { background: hsl(300, 100%, 97%); min-height: 600px; position: relative;}.center img { width: 40%; height: auto; position: absolute; top: calc(50% - 20%); left: calc(50% - 20%);}

很簡單,calc允許你基于當前的頁面布局計算尺寸。在上面的簡單計算中, 50% 是容器元素的中心點,但是如果只設置50%會使圖片的左上角對齊div的中心位置。 我們需要把圖片向左和向上各移動圖片寬高的一半。計算公式為:

top: calc(50% - (40% / 2));left: calc(50% - (40% / 2));

在現(xiàn)在的瀏覽其中你會發(fā)現(xiàn),這種方法更適用于當內容的寬高為固定尺寸:

.center img { width: 500px; height: 500px; position: absolute; top: calc(50% - (300px / 2)); left: calc(50% - (300px – 2)); }

我在 這篇文章 中詳細講解了calc。

這種方案和flex一樣有許多相同的缺點: 雖然在現(xiàn)代瀏覽器中有良好的支持,但是在較早的版本中仍然需要瀏覽器前綴,并且不支持IE8。

.center img { width: 40%; height: auto; position: absolute; top: calc(50% - 20%); left: calc(50% - 20%);}

當然還有 其他更多的方案。理解這六種方案之后,web開發(fā)人員在面對元素居中的時候會有更多的選擇。

【閱讀延伸】:

更多更全的美式裝修效果圖、吊頂裝修效果圖、家裝效果圖飄窗裝修效果圖、浴室裝修效果圖,請持續(xù)關注房先森裝修公司:www.asyobhw.cn 我們會及時收集并更新!也可關注房先森官方微信公眾號sirfang_com,或者掃一掃下面的二維碼關注!

關注房先森官方微信公眾號sirfang_com

相關文章
網友評論
    我也要評論

    請先 登錄 | 注冊