- 締切済み
スクロールしても文字を固定位置に表示させるには?
スタイルシートについての質問です。 スクロールしても画像が動かないようにすることができるので、 同じように文字も固定表示したいと思っています。 position:fixed; を使おうと思ったらIEではサポートされていないようなので使えません。 何か他の方法で文字の固定表示はできないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>ブレずに表示はできますでしょうか? 必死に追随しているって感じですよね~^^; 最近、どっかで、うまくメニューを同じ位置に表示しているのを見たんですけど、どうやってるかは調べなかったんで、今回のは、一応オリジナルなんですけど、スムーズにスクロールさせるのは、ちょっと思いつかないですね~。 onscrollで、すぐに、表示させようとしないで、ちょっと間をおいてから表示する方がいいかもしれません。今のところいい方法が浮かばないです。すみませんです。 画像が固定できるんだったら、文字を画像にしてしまうというのも1つの方法ですけどね~。 ところで、 #2で ("NoMove").scrollIntoView(true); は、テスト中のゴミですので、不要です。 すみませんです。 m(_ _)m
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
IEでのサンプルを作ってみました。他の方法もあるかもしれません。 サンプルを実行すると、スクロールしても画面上部に位置するようになります。位置をずらすには、+nnすればいいです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>Welcome</title> <script type="text/javascript"> <!-- function displayString(){ document.getElementById("NoMove").style.top=document.body.scrollTop; ("NoMove").scrollIntoView(true); } //--> </script> </head> <body onscroll="displayString()" style="z-index:0"> <div ID="NoMove" style="position:absolute;z-index:2;left=150px;background-color:FFF"> 動きません </div> <div> ダミーの文字 1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> 0<br><br> <br>- 1<br> 2<br> 3<br> 4<br> <br><br>56 <br>8 <br>a s<br> fd<br> h<br> gd<br> g<br> dg<br> <br>fdg g<br> 1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br><br> 9<br> 0<br><br> <br>- 1<br> 2<br> 3<br> 4<br> <br><br>56 <br>8 <br>a s<br> fd<br> h<br> gd<br> g<br> dg<br> <br>fdg g<br> 1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br><br> 9<br> 0<br><br> <br>- 1<br> 2<br> 3<br> 4<br> <br><br>56 <br>8 <br>a s<br> fd<br> h<br> gd<br> g<br> dg<br> <br>fdg g<br> 1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br><br> 9<br> 0<br><br> <br>- 1<br> 2<br> 3<br> 4<br> <br><br>56 <br>8 <br>a s<br> fd<br> h<br> gd<br> g<br> dg<br> <br>fdg g<br> </div> </body> </html>
補足
サンプルまで作っていただき、ありがとうございました。 サンプルではスクロールした場合、文字がブレてしまいますが、ブレずに表示はできますでしょうか?
- quads
- ベストアンサー率35% (90/257)
どのような記述を試したのでしょうか?
補足
<html> <head> <style type="text/css"> <!-- .test { position:fixed; top:50px; left:200px; } --> </style> <title>test</title> </head> <body> <span class=test> 固定したい文字</span> </body> </html> 例えば、上記のように上から50px、左から200pxの位置に「固定した文字」という文字を表示させたい場合、 position:fixed; を使っても指定位置に表示されません。 position:absolute; を使うと指定位置に表示されますが、スクロールした場合に位置が変わってしまいます。 スクロールしても定位置に文字を表示させたいと思っています。
お礼
文字を画像化...なるほど、そう言う方法もありますね。 ありがとうございました。