国产成人精品亚洲日本专区61_无码人妻久久一区二区三区免费丨_无码人妻丰满熟妇啪啪网站_久久综合日本久久综合88

在線客服

電話①:189 6508 9135(張先生)
電話②:134 0599 8886(何小姐)
電話③:0591-83489135

技術(shù)文章


CSS實(shí)現(xiàn)垂直居中的常用方法


  在前端開(kāi)發(fā)過(guò)程中,盒子居中是常常用到的。其中 ,居中又可以分為水平居中和垂直居中。水平居中是比較容易的,直接設(shè)置元素的margin: 0 auto就可以實(shí)現(xiàn)。但是垂直居中相對(duì)來(lái)說(shuō)是比較復(fù)雜一些的。下面我們一起來(lái)討論一下實(shí)現(xiàn)垂直居中的方法。

  首先,定義一個(gè)需要垂直居中的div元素,他的寬度和高度均為300px,背景色為橙色。代碼如下:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        .content {
            width: 300px;
            height: 300px;
            background: orange;
        }
    </style></head><body>
    <div class="content"></div></body></html>

效果如下:

CSS實(shí)現(xiàn)垂直居中的常用方法

我們需要使得這個(gè)橙色的div居中,到底該怎么辦呢?首先我們實(shí)現(xiàn)水平居中,上面已經(jīng)提到過(guò)了,可以通過(guò)設(shè)置margin: 0 auto實(shí)現(xiàn)水平居中,代碼如下:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        .content {
            width: 300px;
            height: 300px;
            background: orange;
            margin: 0 auto;
        }
    </style></head><body>
    <div class="content"></div></body></html>

效果如下:

CSS實(shí)現(xiàn)垂直居中的常用方法

很好,已經(jīng)實(shí)現(xiàn)水平居中了!接下來(lái)該打大boss了——實(shí)現(xiàn)垂直居中。不過(guò),在這之前,我們先要設(shè)置div元素的祖先元素html和body的高度為100%(因?yàn)樗麄兡J(rèn)是為0的),并且清除默認(rèn)樣式,即把margin和padding設(shè)置為0(如果不清除默認(rèn)樣式的話,瀏覽器就會(huì)出現(xiàn)滾動(dòng)條,聰明的親,自己想想問(wèn)什么)。


<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        html, body {
            width: 100%;
            height: 100%;
            margin: 0; 
            padding: 0;
        }
        .content {
            width: 300px;
            height: 300px;
            background: orange;
            margin: 0 auto; /*水平居中*/
        }
    </style></head><body>
    <div class="content"></div></body></html>

   接下來(lái),需要做的事情就是要讓div往下移動(dòng)了。我們都知道top屬性可以使得元素向下偏移的。但是,由于默認(rèn)情況下,由于position的值為static(靜止的、不可以移動(dòng)的),元素在文檔流里是從上往下、從左到右緊密的布局的,我們不可以直接通過(guò)top、left等屬性改變它的偏移。所以,想要移動(dòng)元素的位置,就要把position設(shè)置為不是static的其他值,如relative,absolute,fixed等。然后,就可以通過(guò)top、bottom、right、left等屬性使它在文檔中發(fā)生位置偏移(注意,relative是不會(huì)使元素脫離文檔流的,absolute和fixed則會(huì)!也就是說(shuō),relative會(huì)占據(jù)著移動(dòng)之前的位置,但是absolute和fixed就不會(huì))。設(shè)置了position: relative后的代碼如下:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        html, body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
        .content {
            width: 300px;
            height: 300px;
            background: orange;
            margin: 0 auto; /*水平居中*/
            position: relative; /*設(shè)置position屬性*/
        }
    </style></head><body>
    <div class="content"></div></body></html>

我們刷新一下頁(yè)面,發(fā)現(xiàn)跟之前是沒(méi)有任何變化的,因?yàn)椋覀儍H僅是使設(shè)置了元素的position=relative而已,但是還沒(méi)開(kāi)始移動(dòng)他的垂直偏移。好,下面我們就讓它偏移吧!垂直偏移需要用到top屬性,它的值可以是具體的像素,也可以是百分?jǐn)?shù)。因?yàn)槲覀儸F(xiàn)在不知道父元素(即body)的具體高度,所以,是不可以通過(guò)具體像素來(lái)偏移的,而應(yīng)該用百分?jǐn)?shù)。既然是要讓它居中嘛!好,那么我們就讓它的值為50%不就行了嗎?問(wèn)題真的那么簡(jiǎn)單,我們來(lái)試一下,就設(shè)置50%試一下:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        html,body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
        .content {
            width: 300px;
            height: 300px;
            background: orange;
            margin: 0 auto; /*水平居中*/
            position: relative; /*脫離文檔流*/
            top: 50%; /*偏移*/
        }
    </style></head><body>
    <div class="content"></div></body></html>

效果如下圖所示:

CSS實(shí)現(xiàn)垂直居中的常用方法

div垂直方向上面并沒(méi)有居中。明顯是偏下了。下面,我們?cè)跒g覽器中間畫一條紅線用來(lái)參考,如下圖:

CSS實(shí)現(xiàn)垂直居中的常用方法

通過(guò)觀察上圖,只要讓div的中心移動(dòng)到紅線的位置,那么整個(gè)div就居中了。那怎么讓它中心移動(dòng)到紅線處呢?從圖中可以觀察到,從div的中心到紅線的距離是div自身高度的一半。這時(shí)候,我們可以使用通過(guò)margin-top屬性來(lái)設(shè)置,因?yàn)閐iv的自身高度是300,所以,需要設(shè)置他的margin-top值為-150。為什么是要設(shè)置成負(fù)數(shù)的呢?因?yàn)檎龜?shù)是向下偏移,我們是希望div向上偏移,所以應(yīng)該是負(fù)數(shù),如下:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        html,body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
        .content {
            width: 300px;
            height: 300px;
            background: orange;
            margin: 0 auto; /*水平居中*/
            position: relative;
            top: 50%; /*偏移*/
            margin-top: -150px; 
        }
    </style></head><body>
    <div class="content"></div></body></html>

效果如下:

CSS實(shí)現(xiàn)垂直居中的常用方法

確實(shí)已經(jīng)居中了。好興奮!有木有?!

除了可以使用margin-top把div往上偏移之外,CSS3的transform屬性也可以實(shí)現(xiàn)這個(gè)功能,通過(guò)設(shè)置div的transform: translateY(-50%),意思是使得div向上平移(translate)自身高度的一半(50%)。如下:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        html,body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
        .content {
            width: 300px;
            height: 300px;
            background: orange;
            margin: 0 auto; /*水平居中*/
            position: relative;
            top: 50%; /*偏移*/
            transform: translateY(-50%);
        }
    </style></head><body>
    <div class="content"></div></body></html>

效果如下:

CSS實(shí)現(xiàn)垂直居中的常用方法

上面的兩種方法,我們都是基于設(shè)置div的top值為50%之后,再進(jìn)行調(diào)整垂偏移量來(lái)實(shí)現(xiàn)居中的。如果使用CSS3的彈性布局(flex)的話,問(wèn)題就會(huì)變得容易多了。使用CSS3的彈性布局很簡(jiǎn)單,只要設(shè)置父元素(這里是指body)的display的值為flex即可。具體代碼如下,對(duì)代碼不做過(guò)多的解釋,如果想了解彈性布局的可以看阮一峰老師的博客http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>index</title>
    <style>
        html,body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
        }
    
        body {
            display: flex;
            align-items: center; /*定義body的元素垂直居中*/
            justify-content: center; /*定義body的里的元素水平居中*/
        }
        .content {
            width: 300px;
            height: 300px;
            background: orange;        
        }
    </style></head><body>
    <div class="content"></div></body></html>

效果:

CSS實(shí)現(xiàn)垂直居中的常用方法

除了上面3中方法之外,當(dāng)然可能還存在許多的可以實(shí)現(xiàn)垂直居中的方法。比如可以將父容器設(shè)置為display:table ,然后將子元素也就是要垂直居中顯示的元素設(shè)置為 display:table-cell 。但是,這是不值得推薦的,因?yàn)闀?huì)破壞整體的布局。如果用table布局,那么為什么不直接使用table標(biāo)簽了?那不更加方便嗎?

關(guān)于CSS實(shí)現(xiàn)垂直居中的方法,就寫這么多了。如果,發(fā)現(xiàn)哪里寫的不對(duì)的或者有更好的方法的,請(qǐng)?jiān)谠u(píng)論提出來(lái),這樣大家可以一起討論、共同進(jìn)步!

CSS2的vertical-align居中方法

最近,看了張?chǎng)涡窭蠋煹摹禖SS世界》一書,不采用CSS3,而是使用了CSS2的vertical-align,通過(guò)一些黑科技手段實(shí)現(xiàn)了垂直居中,有興趣的同學(xué)可以研究一下。具體實(shí)現(xiàn)如下:

假設(shè)類名是.dialog,則 HTML 如下:

<div class="container">  <div class="dialog">  </div></div>

核心 CSS 代碼如下:

.container {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0,0,0,.5);
    text-align: center;
    font-size: 0;
    white-space: nowrap;
    overflow: auto;
}.container:after {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}.dialog {
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    font-size: 14px;
    white-space: normal;
}

相關(guān)文章

首頁(yè)  電話  咨詢  頂部
黄视频网站免费看| 青草国产在线观看| 精品视频一区二区三区免费| 日韩一级黄色片| 国产成人精品综合| 欧美爱爱网| 欧美爱爱网| 四虎久久精品国产| 亚洲wwwwww| 国产一区免费在线观看| 可以免费在线看黄的网站| 精品国产亚洲一区二区三区| 在线观看成人网| 国产麻豆精品视频| 精品视频免费观看| 国产麻豆精品hdvideoss| 久久成人性色生活片| 午夜精品国产自在现线拍| 日本在线不卡视频| 韩国毛片| 国产激情一区二区三区| 一 级 黄 中国色 片| 黄色福利片| 久久精品成人一区二区三区| 青青青草影院| 国产高清视频免费观看| 欧美大片a一级毛片视频| 欧美一区二区三区在线观看| 午夜家庭影院| 国产视频久久久| 成人影视在线观看| 999精品在线| 午夜久久网| 精品国产亚洲人成在线| 亚洲 激情| 久草免费在线色站| 成人免费观看男女羞羞视频| 午夜激情视频在线播放| 麻豆污视频| 夜夜操网| 成人免费观看的视频黄页| 国产福利免费观看| 亚欧成人乱码一区二区| 欧美a级v片不卡在线观看| 国产麻豆精品免费密入口| 韩国三级视频网站| 日韩专区一区| 免费国产在线观看不卡| 免费的黄视频| 日本在线不卡视频| 深夜做爰性大片中文| 九九热国产视频| 免费国产一级特黄aa大片在线| 欧美电影免费看大全| 日韩女人做爰大片| 久久国产一久久高清| 日韩中文字幕在线观看视频| 91麻豆爱豆果冻天美星空| 精品视频一区二区三区免费| 999久久狠狠免费精品| 国产91丝袜高跟系列| 久久99中文字幕久久| 亚欧乱色一区二区三区| 高清一级毛片一本到免费观看| 欧美激情伊人| 四虎影视久久久| 日本免费乱人伦在线观看| 日韩在线观看网站| 久久国产精品自由自在| 久久精品免视看国产明星| 亚洲精品影院久久久久久| 欧美国产日韩精品| 青青久久国产成人免费网站| 日韩在线观看视频免费| 日韩免费在线视频| 免费的黄视频| 一本伊大人香蕉高清在线观看| 欧美电影免费| 成人影院一区二区三区| 毛片的网站| 高清一级片| 国产91素人搭讪系列天堂| 久久久久久久久综合影视网| 久久精品大片| 一级片免费在线观看视频| 九九久久国产精品| 九九精品在线| 亚飞与亚基在线观看| 91麻豆精品国产片在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产网站免费在线观看| 国产亚洲精品成人a在线| 成人a大片在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲 国产精品 日韩| 亚洲女初尝黑人巨高清在线观看| 国产网站免费| 日韩中文字幕在线播放| 天天做日日爱夜夜爽| 免费国产在线观看| 一本高清在线| 中文字幕97| 亚洲第一色在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人a大片在线观看| 欧美日本国产| 日韩在线观看视频免费| 日韩在线观看视频黄| 欧美国产日韩精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩免费在线| 亚洲精品影院| 一级片免费在线观看视频| 免费国产在线观看不卡| 免费国产在线视频| 亚洲精品影院一区二区| 一级毛片视频播放| 日韩中文字幕在线亚洲一区| 日韩中文字幕一区二区不卡| 人人干人人插| 国产激情一区二区三区| 99久久精品国产免费| 韩国三级视频网站| 国产伦精品一区二区三区无广告 | 91麻豆精品国产自产在线 | 国产网站免费| 成人在免费观看视频国产| 免费毛片基地| 中文字幕97| 日韩免费片| 99久久精品国产免费| 精品视频一区二区| 日韩欧美一二三区| 久久国产影视免费精品| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 中文字幕97| 成人免费观看视频| 日韩av片免费播放| 国产成人啪精品视频免费软件| 欧美日本免费| 中文字幕一区二区三区 精品| 黄色福利片| 999久久狠狠免费精品| 国产不卡高清| 国产a毛片| 日韩中文字幕一区| 国产高清在线精品一区二区| 精品在线观看一区| 精品国产一区二区三区久| 午夜激情视频在线播放| 四虎影视久久久免费| 久久久久久久免费视频| 高清一级做a爱过程不卡视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久国产影视免费精品| 成人免费观看男女羞羞视频| 一本伊大人香蕉高清在线观看| 99色视频在线| 日本伦理黄色大片在线观看网站| 国产一区二区精品| 九九精品影院| 久草免费资源| 亚欧成人乱码一区二区 | 青青久久国产成人免费网站| 欧美a免费| 可以免费看污视频的网站| 午夜在线亚洲男人午在线| 精品国产一区二区三区免费| 成人免费福利片在线观看| 日韩在线观看视频黄| 欧美日本免费| 一级片片| 精品视频免费在线| 亚洲精品影院| 91麻豆国产| 国产高清在线精品一区二区| 久久99爰这里有精品国产| 午夜家庭影院| 精品国产一级毛片| 欧美另类videosbestsex久久| 国产一区二区精品久| 欧美另类videosbestsex久久 | 国产伦精品一区二区三区在线观看 | 国产麻豆精品| 99久久网站| 人人干人人插| 国产极品白嫩美女在线观看看| 四虎久久影院| 日本免费看视频| 国产成人女人在线视频观看| 青青青草影院| 国产91丝袜高跟系列| 一级毛片视频免费| 欧美大片一区| 国产成人女人在线视频观看| 成人免费观看的视频黄页| 国产一区二区精品尤物| 中文字幕一区二区三区 精品| 国产美女在线一区二区三区| 四虎久久精品国产|