2011-01-11 8 views
27

さまざまなページを表示する複数のiframeを持つページを作成したいと思っています。一種の「複数のページを並べて閲覧する」タイプのものです。問題は、そうすることでビューポートがかなり小さくなり、各ページの左上隅のみが表示されることです。Javascript/CSS:iframeのズームレベルを(firefox)に設定しますか?

効果的にfirefoxのズームアウト(ctrl-minus)を数回行うことでページ全体が見えるようにiframeを設定する方法はありますか?テキストが見やすいかどうかは特に気にしません。ページがどのように見えるのかが分かります。

これはブラウザを必要としません(私の目的のためには最新のFirefoxでしか動作しません)が、明らかにクロスブラウザーの解決策がこれを必要とし、誰かのために望ましいでしょうこの質問の向こう側に。

+0

複数のiframeがあなたのウェブページや複数のドメインを表示すると思われますか? – stecb

+0

この特定のケースでは、すべてのiframeが同じドメインのページを指しています – Mala

答えて

47

あなたは、CSSは、アイフレームへの変換を適用することができます。

iframe { 
    -moz-transform: scale(0.25, 0.25); 
    -webkit-transform: scale(0.25, 0.25); 
    -o-transform: scale(0.25, 0.25); 
    -ms-transform: scale(0.25, 0.25); 
    transform: scale(0.25, 0.25); 
    -moz-transform-origin: top left; 
    -webkit-transform-origin: top left; 
    -o-transform-origin: top left; 
    -ms-transform-origin: top left; 
    transform-origin: top left; 
    border: solid #ccc 10px; 
} 

http://jsfiddle.net/6QMcX/

変換元のプロパティは、それがその位置を変えずに拡大縮小することができます。

これは、Webkit、Opera、FF、IE9(未テスト)で動作します。テキストはすばらしく見え、非常に小さいサイズでは読みやすいです。

+1

*正確には何を探していましたか?ありがとう!あなたはロックします – Mala

+1

iPad Safariでは正しく動作しません。参照:http://stackoverflow.com/questions/11559700/iframe-css3-scaling-issue-on-ipad-safari-ios-5-0-1 – kahoon

+0

これはすべてを変更します。 –

3

私は(クロムのみでテスト)このような適切な結果だ:

CSS:

<style> 
#iframe { 
    -moz-transform: scale(0.25, 0.25) translate(-150%, -150%); 
    -webkit-transform: scale(0.25, 0.25) translate(-150%, -150%); 
    -o-transform: scale(0.25, 0.25) translate(-150%, -150%); 
    transform: scale(0.25, 0.25) translate(-150%, -150%); 
} 
#wrapper { 
    width: 256px; 
    height: 230px; 
} 
</style> 

HTML: 

<div id="wrapper"> 
    <iframe id="iframe" width="1024" height="920" scrollbars="no"></iframe> 
</div> 

多分これは役立ちますが。

関連する問題