怎么利用css實(shí)現(xiàn)一個自適應(yīng)容器-創(chuàng)新互聯(lián)

怎么利用css實(shí)現(xiàn)一個自適應(yīng)容器?為了大家讓大家更加了解css實(shí)現(xiàn)一個自適應(yīng)容器,小編給大家總結(jié)了以下內(nèi)容,一起往下看吧。怎么利用css實(shí)現(xiàn)一個自適應(yīng)容器

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)同安,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

目標(biāo):

實(shí)現(xiàn)一個寬度自適應(yīng),高度為寬度一半的容器。

一、思考如何實(shí)現(xiàn)

這個問題類似于:我們在移動端頁面,上面有一張寬度 100% 的圖片,如果我們沒設(shè)置高度,則圖片會根據(jù)原有尺寸,等比縮放。

我們可以借助這個想法,根據(jù)元素高度,來為元素設(shè)置一個相應(yīng)比例的高度即可。

二、實(shí)現(xiàn)方法1 - 通過 vw 視口單位實(shí)現(xiàn)

所謂 視口單位 (viewport units)是相對于視口(viewport)的尺寸而言, 100vw 等于視口寬度的 100% ,即 1vw 等于視口寬度的1%。

我們就可以利用這個特性,實(shí)現(xiàn)移動端的寬高等比自適應(yīng)容器。

HTML代碼:

<div class="box">
    <img src="http://images.pingan8787.com/2019_07_12guild_page.png" />
</div>

css代碼:

*{
    margin:0;
    padding:0
}
.box{
    width:100%;
    height:51.5vw
}
.box img{ 
    width:100%; 
}

為什么 .box 高度為 51.5vw 呢?

原因是圖片原來的尺寸是 884 * 455 的寬高比例,即 455 / 884 = 51.5% 。

這個方法相比原來圖片的等比縮放,有個優(yōu)點(diǎn):無論圖片是否加載成功,容器高度始終是計算完成,不會造成頁面抖動,也不會造成頁面重繪,從而提升性能。

下面看看這種情況下,圖片加載成功和失敗的對比:

怎么利用css實(shí)現(xiàn)一個自適應(yīng)容器

三、實(shí)現(xiàn)方法2 - 通過子元素 padding 實(shí)現(xiàn)

通過設(shè)置子元素的 padding 屬性來實(shí)現(xiàn),是比較常用,也是效果比較好的一種,這里需要理解的是: 子元素的 padding 屬性百分比的值是先對父容器的寬度而言 。

這里看下面代碼和效果圖理解下:

HTML代碼:

<div class="box">
    <div class="text">我是王平安,pingan8787</div>
</div>

css代碼:

.box{
    width: 200px;
}
.text{
    padding: 10%;
}

怎么利用css實(shí)現(xiàn)一個自適應(yīng)容器

分析:

這里我們將父容器 .box 寬度設(shè)置為 200px ,子元素 .text 的 padding:10% ,因此 .box 的 padding 計算結(jié)果為 20px ;

接下來結(jié)合主題,我們利用這個原理,來實(shí)現(xiàn)等比例的問題:

HTML代碼:

<div class="box">
    <div class="text">
        <img src="http://images.pingan8787.com/2019_07_12guild_page.png" />
    </div>
</div>

css代碼:

.box{
    width: 100%;
}
.text{
    overflow: hidden;
    height: 0;
    padding-bottom: 51.5%;
}
.box .text img{
    width: 100%;
}

這里 .text 的 padding-bottom: 51.5%; 也是按照第一個方法,用圖片原始尺寸的寬高比計算出來的,需要注意,這里將 .text 設(shè)置 height: 0; 會出現(xiàn)高度比實(shí)際高的問題,因此為了避免這個情況,就需要設(shè)置 height: 0; 。

以上就是怎么利用css實(shí)現(xiàn)一個自適應(yīng)容器的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

當(dāng)前文章:怎么利用css實(shí)現(xiàn)一個自適應(yīng)容器-創(chuàng)新互聯(lián)
當(dāng)前URL:http://muchs.cn/article18/pogdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、App開發(fā)定制網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站策劃響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)