より簡単なソリューション
私が考えることができる最善の方法は、テキストの別のビューを提供することです。これは、ポストイット ボックスを表示しない、印刷に適したバージョンです。ポストイットのコンテンツがテキスト フロー内にある限り、この問題は発生します。
可能性 (より難しい) 代替案
より難しい代替手段として、javascript ルートに進むことができます。本文に空の DIV を挿入し、幅と高さを設定してから、その同じ場所にポストイットを絶対配置で配置する必要があります。
<div id="container" style="position:relative;">
<div class="text">Duis non lorem vel diam adipiscing dignissim.
Nulla vel varius erat. Nulla facilisi. Vivamus pulvinar pretium dignissim.
Aliquam sed tortor posuere nunc bibendum mattis. Integer bibendum, elit ut
vestibulum tristique, dolor justo scelerisque nibh, ac blandit metus arcu
non nibh.In ac eros sed nisl porta bibendum quis in mauris. Quisque
<div style="float:right; margin:10px; width:100px; height:100px;"></div>
pellentesque ligula eu sapien commodo at mollis purus feugiat. Vivamus
volutpat dictum magna eu venenatis. Suspendisse dignissim enim aliquet leo
imperdiet vitae accumsan mauris blandit. Donec tempus velit aliquet magna
imperdiet euismod. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Vestibulum mollis tortor pellentesque velit pharetra non lobortis est
aliquam.
</div>
<div class="post-it">
I am the post-it. I should be placed absolutely so that
I overlap the div that is presently sitting within the body of text. This
will give the impression that I too exist within there, but I won't be
selectable.
</div>
</div>
空の div の幅/高さをポストイットの幅/高さと一致するように動的に決定することは、javascript を使用して非常に簡単に行うことができます。jQuery を使用した例を次に示します。
var realWidth = $("#container > .post-it").width();
var realHeight = $("#container > .post-it").height();
$("div.text div:eq(0)").css({"width":realWidth,"height":realHeight});
次に、空の div の x および y オフセットを取得し、それをポストイット div の左と上の値として適用して、指定された領域のテキストの真上に配置します。