国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

CSS3 垂直居中詳解

DTeam / 1000人閱讀

摘要:但要實(shí)現(xiàn)垂直居中確是一大難題。彈性盒子絕對定位視口單位彈性盒子彈性盒子應(yīng)該是解決垂直居中的最佳方案,隨著的逐漸沒落,惹人煩的兼容性問題正逐漸被克服。里有一個(gè)和一個(gè),想將這兩個(gè)元素在里垂直居中,同樣只需給它們的父元素設(shè)和。

CSS里實(shí)現(xiàn)水平居中非常容易,inline元素用text-align:center;,block元素用margin:auto;就行了。但要實(shí)現(xiàn)垂直居中確是一大難題。本篇收集了一些已知的方案,整理出來,以備將來取用。代碼可以從GitHub上下載。

Flex彈性盒子
absolute絕對定位
vh視口單位
Flex彈性盒子
Flex彈性盒子應(yīng)該是解決垂直居中的最佳方案,隨著IE10的逐漸沒落,惹人煩的兼容性問題正逐漸被克服。用法很簡單,給需要垂直居中的元素的父容器設(shè)置display:flex,并指定align-items: center;就搞定了:

body {

…
display: flex;
align-items: center;

}
main {

…
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;

}


用flex實(shí)現(xiàn)

垂直居中



我們想將main垂直居中,只需給它的父元素body設(shè)display:flex;和align-items: center;即可。main里有一個(gè)div和一個(gè)p,想將這兩個(gè)元素在main里垂直居中,同樣只需給它們的父元素main設(shè)display:flex;和align-items: center;。另外justify-content和flex-direction用于調(diào)整這兩個(gè)子元素水平居中的排列順序。

absolute絕對定位
一種很常見的方法是用絕對定位配合負(fù)值margin。思路是設(shè)成absolute后,指定top和left為50%,將元素的左上角定位點(diǎn)放到頁面正中心。然后用負(fù)值margin一半的元素寬高度將元素拉回頁面正中心:

main {

position: absolute;
width: 18em;
height: 10em;
top: 50%;
left: 50%;
margin-top: -9em;
margin-left: -5em;
…

}
但缺點(diǎn)是你需要事先指定元素的width和height,否則無法給負(fù)margin設(shè)值,顯得不夠靈活。其實(shí)不必固定元素的寬高,改用translate()位移來替代負(fù)margin,實(shí)現(xiàn)將元素拉回頁面正中心:(如果對變形元素不熟,可以參照CSS3 transform介紹)

main {

position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
…

}

用absolute實(shí)現(xiàn)

垂直居中


用絕對定位absolute讓需要垂直居中的元素脫離文檔流,指定top和left各50%將元素左上角定位點(diǎn)設(shè)到頁面正中心。然后用translate()各負(fù)50%,將元素拉回頁面正中心。思路和負(fù)margin是一致的,優(yōu)勢是不必固定元素的寬高了。缺點(diǎn)是absolute絕對定位威力太大,要考慮是否會對頁面布局造成影響。

vh視口單位
上例中translate()將元素回拉的前提是,absolute絕對定位來設(shè)top和left各50%。但如果看到absolute絕對定位就覺得不舒服,可以改成vh視口單位來設(shè)元素左上角的定位點(diǎn)。

vh就是視口高度,vw是視口寬度。例如1vh表示視口高度的1%。

vmin是視口寬高的小值,例如vh

vmax是視口寬高的大值,例如vh

所以我們可以用vh替代absolute絕對定位:

main {

width: 9em;
margin: 50vh auto 0;
transform: translateY(-50%);
…

}

用vh實(shí)現(xiàn)

垂直居中


因?yàn)槿サ袅薬bsolute,失去了包裹性,所以需要指定width大小。margin-top設(shè)為50vh,表示視口高度的50%位置。然后用translateY(-50%)將元素拉上去。之所以用translateY因?yàn)樗轿恢靡呀?jīng)指定margin為auto實(shí)現(xiàn)了居中,所以水平位置不用回拉

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/111464.html

相關(guān)文章

  • 前端-CSS3&H5

    摘要:高度模型淺識為的簡寫,簡稱為塊級格式化上下文,為瀏覽器渲染某一區(qū)域的機(jī)制,中只有和中還增加了和。并非所有的布局都會在開發(fā)中使用,但是其中也會涉及一些知識點(diǎn)。然而在不同的純制作各種圖形純制作各種圖形多圖預(yù)警 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問題:怎樣通過 CSS 簡單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看到 float 屬性不...

    xiaolinbang 評論0 收藏0
  • CSS及布局

    摘要:經(jīng)過半年的打磨,正式發(fā)布,主要是新增了一些常用組件,并使用命名,為接下來的微信小程序開發(fā)做好準(zhǔn)備。這兩種方式實(shí)現(xiàn)的瀑布流式布局均支持首屏和網(wǎng)頁窗口大小改變時(shí)的列數(shù)自適應(yīng)。主要是對于標(biāo)準(zhǔn)里的布局方式草案中的布局方式進(jìn)行一些總結(jié)。 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問題:怎樣通過 CSS 簡單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看...

    jaysun 評論0 收藏0
  • css - 收藏集 - 掘金

    摘要:絕對底部前端掘金來自國外的設(shè)計(jì)達(dá)人,純,可以實(shí)現(xiàn)當(dāng)正文內(nèi)容很少時(shí),底部位于窗口最下面。有效解決圖片使用單位邊角缺失的問題前端掘金起因在移動端使用布局時(shí)圖片也需要用單位。 CSS 絕對底部 - 前端 - 掘金來自國外的設(shè)計(jì)達(dá)人,純CSS,可以實(shí)現(xiàn): 當(dāng)正文內(nèi)容很少時(shí),底部位于窗口最下面。當(dāng)改變窗口高度時(shí),不會出現(xiàn)重疊問題。甚至,創(chuàng)造該CSS的人還專門成立一個(gè)網(wǎng)站介紹這個(gè)CSS底部布局方案...

    phpmatt 評論0 收藏0
  • CSS開發(fā)

    摘要:譯十六進(jìn)制顏色揭秘原文地址原文作者譯文出自掘金翻譯計(jì)劃本文永久鏈接教程入門篇關(guān)于是一款進(jìn)行柵格布局的輔助工具,它讓開發(fā)者擺脫了冗雜的數(shù)學(xué)計(jì)算,同時(shí)降低了樣式與結(jié)構(gòu)的耦合程度。 【譯】CSS 十六進(jìn)制顏色揭秘 原文地址:CSS Hex Colors Demystified 原文作者:Dave Gash 譯文出自:掘金翻譯計(jì)劃 本文永久鏈接:https://github.com/xitu/...

    warkiz 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<