問題
在響應(yīng)式布局中,我們應(yīng)該小心對(duì)待iframe元素,iframe元素的width和height屬性設(shè)置了其寬度和高度,但是當(dāng)包含塊的寬度或高度小于iframe的寬度或高度時(shí),會(huì)出現(xiàn)iframe元素溢出的現(xiàn)象:
這樣溢出的iframe會(huì)破壞頁面的布局。我們可以采用一種方法讓iframe元素也具有響應(yīng)性,拭目以待。
解決方法
iframe元素本身并無法伸縮,除非通過js顯示的設(shè)置其寬度。但是我們可通過一個(gè)iframe-container元素來包裹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即可。
新聞熱點(diǎn)
疑難解答