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

資訊專欄INFORMATION COLUMN

完美實(shí)現(xiàn)文字圖片水平垂直居中

張憲坤 / 2678人閱讀

摘要:想居中就居中,爽啊很完美有木有如果能支持的話,又是該死的文章轉(zhuǎn)自換行文字圖片水平垂直居中完美解決方案

垂直居中是一個(gè)歷史悠久的大問題,要做到兼容所有瀏覽器少不了要花點(diǎn)時(shí)間,網(wǎng)上也流傳了很多解決方案,但沒發(fā)現(xiàn)比我現(xiàn)在用的方案更完美,至少在我的項(xiàng)目是如此。

項(xiàng)目中要用到垂直居中而碰到兼容性問題的,一般都是以下幾種情況:

換行文字垂直居中

圖片垂直居中

以上都是在固定寬高的容器里垂直居中,不然的話margin,padding便可實(shí)現(xiàn)。

解決垂直居中無非就從幾個(gè)方面入手

利用行高等于容器高度

模擬表格單元格特性

定位布局

css3display:box

換行文字垂直居中 結(jié)合表格單元格特性和定位來實(shí)現(xiàn)
/* 換行文字垂直居中 */
.vc-font1 {
    border: 1px solid black;
    width: 200px;
    height: 200px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

/* 兼容IE6、7 */
*+html .vc-font1 {
    height: auto;
    min-height: 200px;
}

.vc-font1 .vc-fix {
    *position: relative;
    *top: 50%;
    *left: 50%;
    *width: 100%;
}

.vc-font1 .vc-inner {
    *position: relative;
    *top: -50%;
    *left: -50%;
}

換行文字垂直居中,兼容所有瀏覽器

當(dāng)文字高度超出容器時(shí),識別table-cell的瀏覽器容器會(huì)自適應(yīng),此時(shí)容器的height屬性相當(dāng)于min-height,為了達(dá)到所有瀏覽器效果一致,容器的height還要Hack一下。

缺點(diǎn):增加了多余的標(biāo)簽

利用行內(nèi)塊vertical-align:middle來實(shí)現(xiàn)
.vc-font2 {
    border: 1px solid black;
    width: 200px;
    height: 200px;
    text-align: center;
    overflow: hidden;
}

.vc-font2 .vc-inner {
    display: inline-block;
    vertical-align: middle;
}

.vc-font2 .vc-fix {
    display: inline-block;
    width: 0;
    height: 100%;
    line-height: 100%;
    vertical-align: middle;
    visibility: hidden;
}

換行文字垂直居中,兼容所有瀏覽器

vc-innervc-fix必須是行內(nèi)元素,vc-inner加上vc-fix的寬度不能超過容器寬度,行內(nèi)塊換行時(shí)會(huì)多出空隙(容器font-size: 0可去除,但這里不適用),所以這兩個(gè)標(biāo)簽不能換行。

缺點(diǎn):增加了多余的標(biāo)簽(硬傷),標(biāo)簽不能換行且必須是行內(nèi)元素。

固定寬高圖片垂直居中

前面提到的換行文字垂直居中的方法對于固定寬高圖片垂直居中也是適用的

利用定位(原理跟方法1類似)
.vc-img1 {
    border: 1px solid black;
    width: 200px;
    height: 200px;
    position: relative;
}

.vc-img1 img {
    width: 100px;
    height: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -50px 0 0 -50px;
}

既然已經(jīng)確定了圖片的寬高,毫無疑問使用這種方法就沒有兼容性的問題出現(xiàn)了

缺點(diǎn):圖片寬高必須固定,以便計(jì)算圖片margin的負(fù)值。

行高等于容器高度
.vc-img2 {
    border: 1px solid black;
    width: 200px;
    height: 200px;
    line-height: 200px;
    _font-size: 200px;
    text-align: center;
}

.vc-img2 img {
    width: 100px;
    height: 100px;
    vertical-align: middle;
}

/*hack for ie7 字體要設(shè)置多大,自個(gè)慢慢調(diào)整*/
*+html .vc-img2 {
    font-size: 180px;
}

我以為設(shè)置了行高等于容器高度就完事了,依然還是碰到了問題,IE6不買賬沒效果,IE7也鬧別扭,在標(biāo)簽同一行情況下失效。

這里順便推薦一個(gè)很好用的占位圖網(wǎng)站,好奇的童鞋猛戳鏈接吧 :)

缺點(diǎn):感覺這樣寫不爽

圖片自適應(yīng)容器寬高垂直居中

這個(gè)方法很簡單,就是在方法4的基礎(chǔ)上改一下圖片的寬高改成max-width,max-height,代碼如下:

.vc-img3 {
    border: 1px solid black;
    width: 200px;
    height: 200px;
    line-height: 200px;
    text-align: center;
}

.vc-img3 img {
    max-width: 150px;
    max-height: 150px;
    vertical-align: middle;
}

/*hack for ie7 字體要設(shè)置多大,自個(gè)慢慢調(diào)整*/
*+html .vc-img3 {
    font-size: 180px;
}

很明顯這是不兼容IE6,要兼容IE6恐怕就要寫JS。對此,我只想說,讓IE6見鬼去吧!

CSS3display:box

最后給出一種高端大氣上檔次的方法。

.vc-css3 {
    border: 1px solid black;
    width: 200px;
    height: 200px;
    text-align: center;
    display: -webkit-box;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    display: -moz-box;
    -moz-box-align: center;
    -moz-box-pack: center;
    display: -o-box;
    -o-box-align: center;
    -o-box-pack: center;
    display: -ms-box;
    -ms-box-align: center;
    -ms-box-pack: center;
    display: box;
    box-align: center;
    box-pack: center;
}

.vc-css3 img {
    width: 100px;
    height: 100px;
}


想居中就居中,爽??!

很完美有木有?如果IE能支持的話,又是該死的IE...

文章轉(zhuǎn)自《換行文字、圖片水平垂直居中完美解決方案》

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

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

相關(guān)文章

  • CSS水平垂直居中技巧

    摘要:適用情景單對象水平居中原理將子元素設(shè)置塊級表格,再設(shè)置水平居中。結(jié)語有些是水平居中,有些是垂直居中,將它們某兩個(gè)合在一起就能實(shí)現(xiàn)水平和垂直均居中。 前言 css水平和垂直居中是一個(gè)亙古不變的話題,它常常出現(xiàn)在優(yōu)美的網(wǎng)頁上以及各大前端面試當(dāng)中。說來慚愧,在兩年前面試的時(shí)候,我完全不知道如何做到水平和垂直均居中的方法,那場面別提有多尷尬了(ps:特想找個(gè)地洞鉆進(jìn)去)。。。時(shí)隔兩年,對于這個(gè)...

    CastlePeaK 評論0 收藏0
  • 【第1期】聊聊css居中那點(diǎn)事

    摘要:前言居中是網(wǎng)頁布局中再常見不過的一種方式了,今天我們就來聊聊居中的那點(diǎn)事。我是水平居中的同樣是針對塊級元素才有效果。來看代碼我是水平居中的必須配合來使用來可以實(shí)現(xiàn)居中的效果。方法二我是垂直居中的注意此方法要考慮的兼容性問題。 前言:居中是網(wǎng)頁布局中再常見不過的一種方式了,今天我們就來聊聊css居中的那點(diǎn)事。 我們主要從這幾個(gè)方面來了解下居中: 水平居中 垂直居中 水平垂直居中 水平...

    劉永祥 評論0 收藏0
  • css - 收藏集 - 掘金

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

    phpmatt 評論0 收藏0
  • 絕對定位(Absolute positioning)

    摘要:絕對定位的特性包裹性包裹性展示跟一樣也具有包裹性兩者的包裹性都類似于使元素化破壞性破壞性展示相對于引起父元素塌陷要更進(jìn)一步上面的例子就可以看出元素完全脫離文檔流并且被其它盒子以及盒子內(nèi)的文本無視替代方案由于濫用會(huì)降低擴(kuò)展性和維護(hù)性所以需要 絕對定位的特性 包裹性 absolute包裹性展示 跟float一樣,absolute也具有包裹性,兩者的包裹性都類似于使元素inline-bloc...

    gaomysion 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<