div.layerを#page1の外側に配置する必要があります。それ以外の場合は-moz-transformとします。scale(.5);それに適用されます。
<a href="#" id="zoom_in">Zoom In +</a> | <a href="#" id="zoom_out">Zoom Out -</a>
<div style="position:relative;">
<div style="-moz-transform:scale(.5); -moz-transform-origin:left top;position:absolute;" class="page" id="page1">
<div class="layer" style="z-index:1;">
<img src="http://cobalt.xtracta.com/images/image.jpg" style="width:2480px; height:3508px">
</div>
</div>
<div class="layer" style="z-index:2;">
<div style="font-size: 20px; position:absolute; color:#F00; top: 1550px; left: 306px;">For</div>
</div>
</div>
http://jsfiddle.net/dXNgx/2/
はい、20ピクセルは、今くらいの大き見えます。ただし、 "For"は正しくプロットされません。プロパティtop:1550px;左:306ピクセル;はほぼ正しいはずです。なぜ "For"は動いたのですか? – StackOverflowNewbie
の前に絶対配置されたdivには位置関係のある親がありませんでした。これにより、abs pos divは身体に関して絶対的になりました。両方のdiv.layerは、代わりにメインdivに対して絶対配置されています。あなたの画面のサイズに応じて、これは異なる結果を与えるかもしれませんが、現在の位置を調整すれば、どんな画面サイズでも動作します。 – sunn0