真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

CSS如何實(shí)現(xiàn)寬高等比自適應(yīng)容器

小編給大家分享一下CSS如何實(shí)現(xiàn)寬高等比自適應(yīng)容器,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的莒縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

在最近開發(fā)移動(dòng)端頁(yè)面,遇到這么一個(gè)情況:當(dāng)頁(yè)面寬度 100% 時(shí),高度為寬度一半,并隨手機(jī)寬度變化依然是一半。

于是我們就需要實(shí)現(xiàn)一個(gè) 寬度自適應(yīng),高度為寬度一半的容器 。

這里先以高度為寬度一半為例,也可以是其他任意比例 。

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

這個(gè)問(wèn)題類似于:我們?cè)谝苿?dòng)端頁(yè)面,上面有一張寬度 100% 的圖片,如果我們沒(méi)設(shè)置高度,則圖片會(huì)根據(jù)原有尺寸,等比縮放。

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

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

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

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

HTML代碼:


    

CSS代碼:

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

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

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

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

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

CSS如何實(shí)現(xiàn)寬高等比自適應(yīng)容器

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

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

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

HTML代碼:


    我是王平安,pingan8787

CSS代碼:
 

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

CSS如何實(shí)現(xiàn)寬高等比自適應(yīng)容器

分析:

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

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

HTML代碼:


    
        
    

CSS代碼:

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

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

于是我們通過(guò)2種方法解決了這個(gè)問(wèn)題。

以上是“CSS如何實(shí)現(xiàn)寬高等比自適應(yīng)容器”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文標(biāo)題:CSS如何實(shí)現(xiàn)寬高等比自適應(yīng)容器
本文路徑:http://weahome.cn/article/gssphs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部