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

資訊專欄INFORMATION COLUMN

垂直居中相關(guān)知識總結(jié)

Labradors / 1343人閱讀

摘要:垂直居中相關(guān)知識總結(jié)前言工作中用到了很多關(guān)于垂直居中相關(guān)的知識之前,在上提問了個問題關(guān)于垂直居中,大家有沒有什么比較好的建議。

垂直居中相關(guān)知識總結(jié) 前言

工作中用到了很多關(guān)于垂直居中相關(guān)的知識之前,在SF上提問了個問題CSS關(guān)于垂直居中,大家有沒有什么比較好的建議。非常感謝各位前輩對我的幫助,前輩們給的答案都非常多也各式各樣,我覺得有必要把大家的回答總結(jié)一下。

方法總結(jié) 一、絕對定位之a(chǎn)utomargin 先來看一下絕對定位的概念:

position : absolute;

將被賦予此定位方法的對象從文檔流中拖出,使用left,right,top,bottom等屬性相對于其最接近的一個最有定位設(shè)置的父級對象進行絕對定位,如果對象的父級沒有設(shè)置定位屬性,即還是遵循HTML定位規(guī)則的,則依據(jù) body 對象左上角作為參考進行定位。絕對定位對象可層疊,層疊順序可通過 z-index 屬性控制,z-index值為無單位的整數(shù),大的在最上面,可以有負(fù)值。

說明:

使用絕對定位要求元素必須設(shè)置明確高度。內(nèi)容超過元素高度時需要設(shè)置overflow決定滾動條的出現(xiàn)

樣式:

HTML結(jié)構(gòu)

我是絕對定位
我在垂直居中
歐耶

CSS樣式

.absolute-center {
    position: absolute;
    width: 100px;
    height: 100px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #f0f0f0;
    /*IE不支持resize*/
    resize: both;
    overflow: auto;
}

頁面呈現(xiàn)樣式

優(yōu)缺點分析

優(yōu)點:支持響應(yīng)式,只有這種方法在resize后仍然居中;

缺點:沒有顯式設(shè)置overflow時,內(nèi)容超過元素高度時會溢出,沒有滾動條;

二、絕對定位之負(fù)margin 說明:

已知元素高度后,使用絕對定位將top設(shè)置為50%,mergin-top設(shè)置為內(nèi)容高度的一半(height + padding) / 2;內(nèi)容超過元素高度時需要設(shè)置overflow決定滾動條的出現(xiàn);top:50%元素上邊界位于包含框中點,設(shè)置負(fù)外邊界使得元素垂直中心與包含框中心重合;

樣式:

CSS樣式

.absolute-center {
    position: absolute;
    width: 100px;
    height: 100px;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    margin-top: -50px;
    background: #f0f0f0;
}

頁面呈現(xiàn)樣式

優(yōu)缺點分析

優(yōu)點:代碼量少、適用于所有瀏覽器、不需要嵌套標(biāo)簽;

缺點:不支持響應(yīng)式(不能使用百分比、min/max-width);

三、額外div 說明:

在需要居中的元素外插入一個div,設(shè)置外div的height為50%,margin-bottom為內(nèi)部元素的一半(height+padding)/2。內(nèi)容超過元素高度時需要設(shè)置overflow決定滾動條的出現(xiàn)。

樣式:

HTML結(jié)構(gòu)

我是絕對定位
我在垂直居中
歐耶

CSS樣式

.outer {
    height: 50%;
    margin-bottom: -50px;
}
.inner {
    margin: auto;
    height: 100px;
    width: 100px;
    background-color: #f0f0f0;
}

頁面呈現(xiàn)樣式

優(yōu)缺點分析

優(yōu)點:瀏覽器兼容性好,支持舊版本ie;

缺點:需要額外元素、不支持響應(yīng)式;

四、table布局 說明:

關(guān)于display:table-cell應(yīng)用,張鑫旭前輩寫過一篇博文我所知道的幾種display:table-cell的應(yīng)用;我就不詳細(xì)講述。

display:table此元素會作為塊級表格來顯示 類似

table標(biāo)簽

,表格前后帶有換行符。

display:table-cell 此元素會作為一個表格單元格顯示 類似

td 和 th標(biāo)簽

原理:

利用表布局特點,vertical-align設(shè)置為Middle后,單元格中內(nèi)容中間與所在行中間對齊。

樣式:

1.HTML

我是絕對定位
我在垂直居中
歐耶

2.CSS樣式

.container{
    display: table;
    height: 200px;
    width: 100px;
    background: #f0f0f0;
}
.absolute-center{
    /*將cell垂直居中,如果外層div不為table則tablecell必須有高度*/
    display: table-cell;
    vertical-align: middle;
}

3.頁面呈現(xiàn)

優(yōu)缺點分析

優(yōu)點:支持任意內(nèi)容的可變高度、支持響應(yīng)式;

缺點:每一個需要垂直居中的元素都會需要加上額外標(biāo)簽(需要table、table-cell兩個額外元素);

五、line-height方式 說明:

該方式只適用于情況比較簡單的單行文本,只需要簡單地把 line-height 設(shè)置為那個對象的 height 值就可以使文本居中了。這種方法在小元素上非常有用,例如使按鈕文本或者單行文本居中。

原理:

如果line-height高度大于font-size,生于高度瀏覽器會平分到文字上下兩端。

樣式:

1.HTML

    
我是line-height

2.CSS樣式

        .container {
            width: 200px;
            height: 100px;
            line-height: 100px;
            background-color:#f0f0f0;
        }

3.頁面呈現(xiàn)

優(yōu)缺點分析

優(yōu)點:適用于所有瀏覽器 無足夠空間時不會被截斷;

缺點:只對文本有效(塊級元素?zé)o效) 多行時,斷詞比較糟糕;

六、inline-block方式 說明:

將center元素display設(shè)置為inline-block,vertical-align設(shè)置為middle,為包含框設(shè)置after偽元素,將偽元素display設(shè)置為inline-block,vercial-align設(shè)置為middle,同時設(shè)置height為100%,撐開容器。

原理:

為同一行的inline-block元素設(shè)置vertical-align:middle,該行內(nèi)的inline-block元素會按照元素的垂直中心線對齊。

樣式:

1.HTML

    
我是inline-block
我在垂直居中
歐耶

2.CSS樣式

        .outer {
            display: block;
        }       
        .outer:after {
            content: "";
            display: inline-block;
            vertical-align: middle;
            height: 100%;
        }    
        .inner {
            background-color: #f0f0f0;
            display: inline-block;
            vertical-align: middle;
        }

3.頁面呈現(xiàn)

優(yōu)缺點分析

優(yōu)點:支持響應(yīng)式、支持可變高度;

缺點:會加上額外標(biāo)記;

七、JS編寫居中 說明:

與CSS方法的絕對定位相似,不過具體的定位方式是在js中寫出,便于維護。

樣式:

HTML結(jié)構(gòu)

    
我是js居中
我在垂直居中
歐耶

CSS樣式

        #box-out {
            width: 200px;
            height: 200px;
        }
        #box {
            position: absolute;
            background-color: #f0f0f0;
            width: 100px;
            height: 100px;
        }

3.javascript

    

4.頁面呈現(xiàn)

八、Flex居中 說明:

真正的垂直居中布局,全都是優(yōu)點,缺點就是IE支持不佳...我覺得有些時候該放棄就可以放棄ie了 :)。Flex阮一峰老師講的非常非常非常詳細(xì),我就不多做介紹了,貼上阮一峰老師的博客

Flex 布局教程:語法篇;

Flex 布局教程:實例篇;

總結(jié)

首先非常感謝回復(fù)我問題的各位前輩。
目前尋找了這么八種常用的方法,基本囊括了所有的垂直居中的方法。

提別感謝

糖伴西紅柿的博文;
木的樹的博文;
阮一峰老師的博客;
張鑫旭老師的博客;
等等。

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

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

相關(guān)文章

  • 垂直居中相關(guān)知識總結(jié)

    摘要:垂直居中相關(guān)知識總結(jié)前言工作中用到了很多關(guān)于垂直居中相關(guān)的知識之前,在上提問了個問題關(guān)于垂直居中,大家有沒有什么比較好的建議。 垂直居中相關(guān)知識總結(jié) 前言 工作中用到了很多關(guān)于垂直居中相關(guān)的知識之前,在SF上提問了個問題CSS關(guān)于垂直居中,大家有沒有什么比較好的建議。非常感謝各位前輩對我的幫助,前輩們給的答案都非常多也各式各樣,我覺得有必要把大家的回答總結(jié)一下。 方法總結(jié) 一、絕對定...

    GeekGhc 評論0 收藏0
  • 前端-CSS3&H5

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

    xiaolinbang 評論0 收藏0
  • margin相關(guān)基本知識

    摘要:也能用于內(nèi)聯(lián)元素這是規(guī)范所允許的的和屬性對非替換內(nèi)聯(lián)元素?zé)o效例如和。解決方法把左側(cè)塊級元素更改為內(nèi)聯(lián)元素,比如把更換為。 什么是 margin ? CSS 邊距屬性定義元素周圍的空間。通過使用單獨的屬性,可以對上、右、下、左的外邊距進行設(shè)置。也可以使用簡寫的外邊距屬性同時改變所有的外邊距。——W3School 邊界,元素周圍生成額外的空白區(qū)。空白區(qū)通常是指其他元素不能出現(xiàn)且父元素背景可見的區(qū)...

    godiscoder 評論0 收藏0
  • 總結(jié)的一些JavaScript的冷知識

    摘要:例如要刪除數(shù)組的第個元素,可以使用這樣的語句不過對于大型數(shù)組來說,這個函數(shù)的效率可能不高。可選參數(shù)可以限制被分割的片段數(shù)量。看代碼吧下面的代碼利用的來實現(xiàn)垂直居中和水平居中轉(zhuǎn)自快樂人生,積極進取總結(jié)的一些的冷知識 1、!!將一個值方便快速轉(zhuǎn)化為布爾值 console.log( !!window===true ); 2、不聲明第三個變量實現(xiàn)交換 var a=1,b=2; a=[b...

    lingdududu 評論0 收藏0

發(fā)表評論

0條評論

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