目前做了一個項目,界面如下:
這是使用frameset做的,在寬屏下開發一直沒有發現什麼問題,直到一個用戶使用800*600的機子測試的時候,才發現整個界面都被變形了。
那時整個frameset頁面只有600像素高度,frameset嵌套的frame出現了滾動條,實在難看。怎麼把frameset的高度設置高點,讓其嵌套的frame頁面沒有滾動條,而讓frameset有滾動條呢?
frameset的高度是設置不了的,比如:<frameset rows="110,*" style="height: 1900px;">。這時的頁面還是屏幕的高度,並不是1900px;設置frameset的body的高度也無效。怎麼辦呢?我baidu了好多天,都沒找到答案,這個問題就一直擱置著。也想到叫美工用DIV+CSS替換了frameset,但怕牽涉的內容太多,換的工作量也許很大,只好作罷。
靈感這東西真是怪,要來不來,來了擋也擋不住。就在這個問題放了一個來月後,今天它突然來了,來的時候還帶著iframe。當我把frameset嵌套其中,並設置iframse頁面的高度,效果果然出來了。現把解決方案與遇到相同問題而解決不了的同仁分享。
1、frameset頁面(inner.html)
復制代碼代碼如下:
<html>
<frameset rows="110,*" frameborder="no" border="0" framespacing="-4px">
<frame src="header.jsp" name="topFrame" scrolling="no" noresize="noresize" />
<frameset cols="170,12,*" framespacing="0" frameborder="no" border="0" id="mainFrameset">
<frame src="left.jsp" name="leftFrame"scrolling="auto" noresize="noresize" id="leftFrame"/>
<frame src="narrow.jsp" scrolling="no" noresize="noresize"/>
<frame src="" name="mainFrame" noresize="noresize" />
</frameset>
</frameset>
<noframes>
</noframes>
</html>
2、iframe頁面(outer.html)
關鍵是設置這個頁面的高度,想要多高就設置多高,隨你。這時裡面包含的frameset也會是這個高度。
復制代碼代碼如下:
<body style="margin: 0px;height: 580px;width:960px;">
<iframe src="inner.html"
style="height:100%;width:100%;border-width: 0px;">
</iframe>
</body>