2010-02-16 26 views
0

我有以下情形: -HTML IFRAME查詢

在HTML頁面中,顯示一個頂杆後跟另一個HTML網頁動態包含到頁的較低部分(我使用的iframe爲其)。所以,窗口的滾動條不應該出現。相反,應該出現包含頁面的滾動條。我可以使用頁面正文上的overflow: hidden屬性來執行此操作。

但現在,爲了達到這個目的,我必須將iframe的高度設置爲100%,以使頁面看起來無縫。問題在於,包含iframe的較低div流出父節點的<body>,並且由於我已將overflow:hidden添加到主體,因此會切斷每個包含頁面的最後一位。我如何克服這一點?

代碼: -

<!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" > 
<head> 
    <title>Show Asset</title> 
    <style> 
    html, body, iframe 
    { 
     height: 100%; 
    } 
    body 
    { 
     overflow: hidden; 
     margin: 0px; 
     } 
    iframe 
    { 
     width: 100%; 
     margin: 0px; 
     border: 0px; 
     padding: 0px; 
     } 
    .optionsBar 
    { 
     background-color: Lime; 
    } 
    .iframeHolder 
    { 
     /* height: 100%;*/ 
    } 
    </style> 
</head> 
<body> 
<div class="optionsBar">Test</div> 
<div class="iframeHolder"> 
    <iframe frameborder="0" scrolling="auto" src="http://en.wikipedia.org/wiki/Main_Page"></iframe> 
</div> 
</body> 
</html> 

回答

0

,如果我理解正確的問題,這可能修復它,但我不知道我。

iframe { 
border:0 none; 
margin:0; 
overflow:visible; 
padding:0; 
width:100%; 
} 
+0

不,這裏的問題是iframe溢出了正文。 – Ajay

0

您可以使用box-sizing來實現。例如,請參見this question

可惜IE6-7不支持此屬性,那麼該瀏覽器是唯一的出路就是增加一個JavaScript onresize處理嗅出窗口的高度(document.documentElement.clientHeight假設標準模式)和iframe的高度設置爲減去酒吧的大小。

+0

我需要的功能與google圖片結果頁面(點擊圖片結果時獲得的頁面)顯示的功能相同。此頁面似乎沒有調整大小的JavaScript運行。沒有這個怎麼可能?此外,該頁面呈現爲怪癖模式。 (並且將會)如何改變? – Ajay

+0

啊,是的,那是目前使用的表佈局,並依靠怪癖模式,以確保第二行的單元格是該行的全部高度(頂部欄取消後的100%頁面高度的其餘部分)。目前在標準模式中不可能重現這一點:在Firefox和WebKit中,您可以將'​​'高度設置爲'100%',並且它可以提取行的高度,但在IE和Opera中,它需要整個表格高度所以你得到溢出。 – bobince