web相應(yīng)式布局中iframe自適應(yīng)的方法
題目
在相應(yīng)式布局中,我們應(yīng)該警惕對待iframe元素,iframe元素的width和height屬性設(shè)置了其寬度和高度,但是當(dāng)包含塊的寬度或高度小于iframe的寬度或高度時(shí),會出現(xiàn)iframe元素溢出的征象:
如許溢出的iframe會破壞頁面的布局。我們可以采用一種方法讓iframe元素也具有相應(yīng)性,拭目以待。
解決方法
iframe元素自己并無法伸縮,除非通過js表現(xiàn)的設(shè)置其寬度。但是我們可通過一個(gè)iframe-container元素來包裹iframe,同時(shí)讓iframe-container元素的寬度充滿包含塊的寬度,并且根據(jù)iframe的長寬比,設(shè)置iframe-container元素的padding-bottom百分比。
其實(shí),這種體例的精髓就在于設(shè)置iframe-container元素的padding-bottom屬性,設(shè)置該屬性的目的在于變相的設(shè)置元素的高度。由于給padding-bottom設(shè)置百分比,是相對于父元素的width而言的,假如對height屬性設(shè)置百分比,則相對于父元素的height,而父元素的height值我們通常使用默認(rèn)的auto,因此會出現(xiàn)子元素height也為0.因此,我們只能給padding-bottom設(shè)置屬性。如許,只需讓iframe元素充滿iframe-container即可。
.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;
}
}
<div class="wrap">
<div class="iframe-container">
<iframe height=498 width=510 src="<a frameborder=0 allowfullscreen></iframe>
</div>
</div>
效果表現(xiàn)的狀況:
當(dāng)視口寬度大于400px時(shí):
當(dāng)視口寬度小于400px時(shí):
總結(jié)
以上就是這篇文章的悉數(shù)內(nèi)容了,盼望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來肯定的幫助,假如有疑問大家可以留言交流。
本文地址:http://m.likemindfilms.com/tutorial/wd3337.html
- 專訪:石墨文檔產(chǎn)品總監(jiān)羅穎
- UI設(shè)計(jì)不得不知的移動(dòng)端UI尺寸適
- 光音移動(dòng)設(shè)計(jì)規(guī)范 — 表單類
- 體驗(yàn)設(shè)計(jì)中的排序問題
- 網(wǎng)頁設(shè)計(jì)精粹 網(wǎng)頁中那些迷人的按
- aliued:響應(yīng)式設(shè)計(jì)的現(xiàn)狀與趨勢
- 10個(gè)智能對象處理的ps技巧
- 網(wǎng)頁UI - 原子設(shè)計(jì)理論(上)
- 如何通過設(shè)計(jì)提升banner點(diǎn)擊率?
- 晉小彥視覺設(shè)計(jì)系列文章(二):全屏