1. 程式人生 > >CSS完美實現iframe高度自適應(支持跨域)

CSS完美實現iframe高度自適應(支持跨域)

真的 高度 org lns nal aid .org bsp 方法

Iframe的強大功能偶就不多說了,它不但被開發人員經常運用,而且黑客們也常常使用它,總之用過的人知道它的強大之處,但是Iframe有個致命的“BUG”就是iframe的高度無法自動適應,這一點讓很多人都頭疼萬分。百度或是谷歌一下,確實很多解決方法,但嘗試一下,會發現問題很多:瀏覽器兼容性差不能自適應僅支持同域Iframe等諸多問題,尤其是跨域Iframe高度自適應問題。網上根本找不到一種可行的方案(唯一有一種提到加入代理頁面的,經過測試發現無用)。難道真的沒有一種可行的解決方案了嗎? No,下面小鳴子和大家分享一種強大的方法,代碼如下:

<html>
<head>
<style>
body {margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;overflow: hidden;}
</style>
</head>

<body>
<iframe src=\‘#\‘" //hi.baidu.com/‘ width=‘100%‘ height=‘100%‘ frameborder=‘0‘ name="_blank" id="_blank" ></iframe>

</body>

</html>

代碼強大之處:

1. 該方法完美兼容IE6,7,8 ,Fire fox,chrome,opera 等主流的瀏覽器;

2.同域,跨域皆支持;

3.不調用任何JS腳本;

註意三點.

1. 文件開頭不能是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

必須 是<html>開頭

2. body樣式中的 overflow: hidden; 絕對不對省略;

3.Iframe 中的 height=‘100%‘ 以及 滾動條不能設為no(默認是yes,不用設置即可)

好了,馬上試試吧。100%不會讓你失望。

CSS完美實現iframe高度自適應(支持跨域)