摘要:絕對定位負(fù)原理首先利用定位把容器塊左頂角對準(zhǔn)瀏覽器中心,然后再使用負(fù)把容器塊向左移動自身寬度的一半,向上移動自身高度的一半,即可以把容器塊的中心移到瀏覽器中心。
1. 絕對定位 + 負(fù) Margin
原理:首先利用 absolute 定位把容器塊 左頂角 對準(zhǔn)瀏覽器中心,然后再使用 負(fù) margin 把容器塊向左移動自身寬度的一半,向上移動自身高度的一半,即可以把容器塊的中心移到瀏覽器中心。
優(yōu)點(diǎn):兼容性好
缺點(diǎn):需要知道寬高,不夠靈活
.container { width: 600px; height: 400px; position: absolute; left: 50%; top: 50%; margin-left: -300px; /* 寬度的一半 */ margin-top: -200px; /* 高度的一半 */ }2. 絕對定位 + Transform
原理:首先利用 absolute 定位把容器塊 左頂角 對準(zhǔn)瀏覽器中心,然后再使用 CSS3 transform 的 translate(x,y) 把容器塊向左(x)移動自身寬度的一半,向上(y)移動自身高度的一半,即可以把容器塊的中心移到瀏覽器中心。
優(yōu)點(diǎn):不需要知道寬高,靈活
缺點(diǎn),兼容不好,在移動設(shè)備上建議使用
.container { width: 600px; height: 400px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); /* 自身尺寸的一半 */ }3. 絕對定位 + 自動 Margin
原理:瀏覽器自動計(jì)算絕對定位的容器塊上下左右外邊距。
優(yōu)點(diǎn):靈活切兼容性好(IE8+)
缺點(diǎn):適用于本身有尺寸的元素(比如圖片),對于段落等必須顯式設(shè)置其寬高
.container { width: 600px; height: 400px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; }4. CSS3 Flexbox
優(yōu)點(diǎn):不需要知道寬高
缺點(diǎn):兼容性不好,在移動設(shè)備上建議使用
.container { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-items: center; }5. Table display
優(yōu)點(diǎn):兼容性好
缺點(diǎn):增加了無用的 HTML 結(jié)構(gòu)
.vertical-wrapper { width: 100%; height: 100%; display: table; .vertical { display: table-cell; vertical-align: middle; & > * { vertical-align: middle; } span { display: inline-block; } img { display: inline-block; } } &.center { .vertical { text-align: center; } } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://hztianpu.com/yun/111416.html
摘要:源代碼演示利用將要水平排列的塊狀元素設(shè)為,然后在父級元素上設(shè)置,達(dá)到與上面的行內(nèi)元素的水平居中一樣的效果。 前言 本文主要介紹水平居中,垂直居中,還有水平垂直居中各種辦法,思維導(dǎo)圖如下: showImg(https://segmentfault.com/img/bVblwhg?w=1334&h=563); 如需本文的思維導(dǎo)圖,請猛戳Github個(gè)人博客 一、水平居中 1.行內(nèi)元素水平居...
摘要:源代碼演示利用將要水平排列的塊狀元素設(shè)為,然后在父級元素上設(shè)置,達(dá)到與上面的行內(nèi)元素的水平居中一樣的效果。 前言 本文主要介紹水平居中,垂直居中,還有水平垂直居中各種辦法,思維導(dǎo)圖如下: showImg(https://segmentfault.com/img/bVblwhg?w=1334&h=563); 如需本文的思維導(dǎo)圖,請猛戳Github個(gè)人博客 一、水平居中 1.行內(nèi)元素水平居...
摘要:源代碼演示利用將要水平排列的塊狀元素設(shè)為,然后在父級元素上設(shè)置,達(dá)到與上面的行內(nèi)元素的水平居中一樣的效果。 前言 本文主要介紹水平居中,垂直居中,還有水平垂直居中各種辦法,思維導(dǎo)圖如下: showImg(https://segmentfault.com/img/bVblwhg?w=1334&h=563); 如需本文的思維導(dǎo)圖,請猛戳Github個(gè)人博客 一、水平居中 1.行內(nèi)元素水平居...
摘要:水平居中內(nèi)聯(lián)元素水平居中利用可以實(shí)現(xiàn)在塊級元素內(nèi)部的內(nèi)聯(lián)元素水平居中。此方法對內(nèi)聯(lián)元素內(nèi)聯(lián)塊內(nèi)聯(lián)表元素水平居中都有效。核心代碼演示程序演示代碼垂直居中單行內(nèi)聯(lián)元素垂直居中通過設(shè)置內(nèi)聯(lián)元素的高度和行高相等,從而使元素垂直居中。 簡言 CSS居中是前端工程師經(jīng)常要面對的問題,也是基本技能之一。今天有時(shí)間把CSS居中的方案匯編整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15種。...
摘要:水平居中內(nèi)聯(lián)元素水平居中利用可以實(shí)現(xiàn)在塊級元素內(nèi)部的內(nèi)聯(lián)元素水平居中。此方法對內(nèi)聯(lián)元素內(nèi)聯(lián)塊內(nèi)聯(lián)表元素水平居中都有效。核心代碼演示程序演示代碼垂直居中單行內(nèi)聯(lián)元素垂直居中通過設(shè)置內(nèi)聯(lián)元素的高度和行高相等,從而使元素垂直居中。 簡言 CSS居中是前端工程師經(jīng)常要面對的問題,也是基本技能之一。今天有時(shí)間把CSS居中的方案匯編整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15種。...
摘要:水平居中內(nèi)聯(lián)元素水平居中利用可以實(shí)現(xiàn)在塊級元素內(nèi)部的內(nèi)聯(lián)元素水平居中。此方法對內(nèi)聯(lián)元素內(nèi)聯(lián)塊內(nèi)聯(lián)表元素水平居中都有效。核心代碼演示程序演示代碼垂直居中單行內(nèi)聯(lián)元素垂直居中通過設(shè)置內(nèi)聯(lián)元素的高度和行高相等,從而使元素垂直居中。 簡言 CSS居中是前端工程師經(jīng)常要面對的問題,也是基本技能之一。今天有時(shí)間把CSS居中的方案匯編整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15種。...
閱讀 2590·2021-11-24 09:39
閱讀 3143·2021-10-15 09:39
閱讀 3275·2021-07-26 23:38
閱讀 2420·2019-08-30 11:14
閱讀 3490·2019-08-29 16:39
閱讀 1782·2019-08-29 15:23
閱讀 891·2019-08-29 13:01
閱讀 2782·2019-08-29 12:29