主頁(yè) > 知識(shí)庫(kù) > web響應(yīng)式布局中iframe自適應(yīng)的方法

web響應(yīng)式布局中iframe自適應(yīng)的方法

熱門標(biāo)簽:阿里云 使用U盤裝系統(tǒng) 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 智能手機(jī) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 網(wǎng)站建設(shè)

問題
在響應(yīng)式布局中,我們應(yīng)該小心對(duì)待iframe元素,iframe元素的width和height屬性設(shè)置了其寬度和高度,但是當(dāng)包含塊的寬度或高度小于iframe的寬度或高度時(shí),會(huì)出現(xiàn)iframe元素溢出的現(xiàn)象:

這樣溢出的iframe會(huì)破壞頁(yè)面的布局。我們可以采用一種方法讓iframe元素也具有響應(yīng)性,拭目以待。

解決方法
iframe元素本身并無(wú)法伸縮,除非通過js顯示的設(shè)置其寬度。但是我們可通過一個(gè)iframe-container元素來(lái)包裹iframe,同時(shí)讓iframe-container元素的寬度充滿包含塊的寬度,并且根據(jù)iframe的長(zhǎng)寬比,設(shè)置iframe-container元素的padding-bottom百分比。

其實(shí),這種方式的精髓就在于設(shè)置iframe-container元素的padding-bottom屬性,設(shè)置該屬性的目的在于變相的設(shè)置元素的高度。因?yàn)榻opadding-bottom設(shè)置百分比,是相對(duì)于父元素的width而言的,如果對(duì)height屬性設(shè)置百分比,則相對(duì)于父元素的height,而父元素的height值我們通常使用默認(rèn)的auto,因此會(huì)出現(xiàn)子元素height也為0.因此,我們只能給padding-bottom設(shè)置屬性。這樣,只需讓iframe元素充滿iframe-container即可。

復(fù)制代碼
代碼如下:

.wrap{
width: 400px;
margin: auto;
border: 5px solid greenyellow;
}
.iframe-container{
height: 0;
padding-bottom: 97.6%;
position: relative;
}
.iframe-container iframe{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
@media screen and (max-width: 400px) {
.wrap{
width: 300px;
}
}


復(fù)制代碼
代碼如下:

<div class="wrap">
<div class="iframe-container">
<iframe height=498 width=510 src="<a frameborder=0 allowfullscreen></iframe>
</div>
</div>

結(jié)果顯示的狀態(tài):

當(dāng)視口寬度大于400px時(shí):

當(dāng)視口寬度小于400px時(shí):

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流。

標(biāo)簽:懷化 通遼 湖北 黃山 煙臺(tái) 賀州 湘潭 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《web響應(yīng)式布局中iframe自適應(yīng)的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266