重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

ttp://www.fromdfj.net/

このサイトをInternet ExplorerでJavaScriptオンの状態で見ると、スタイルシートの切り替えが出来るようになっています。そこでスタイルシートを「grayscale」にすると、スクロールしてもメニューや著作権の位置が変わらないようになっています。これってどうやっているんでしょうか?

最初はJavaScriptかと思いましたが、HTMLファイルとCSSファイルをダウンロードしてJavaScriptオフの状態で確認してみても状態は変わりません。CSSのposition:fixedかとも思いましたが、IEでは対応していませんし。スタイルシートの中身もよく見たのですが、分かりません。

どなたか分かる方、教えて下さい。宜しくお願いします。

A 回答 (3件)

すみません。

一応、スタイルシートもご覧になってるんですね。見落としてました。

こちらでも落としていろいろ試してみましたが、結局はよくわかりませんでした。
基本的にはposition:absoluteを利用し(IE以外はfixedを適用しているようですが)、bodyにheight:100%を設定することで位置決めしていますね。ただ、ご指摘のようにスクロールで画面が書き直される理由が良くわかりません。

手元でHTMLを編集してみたんですが文章を大幅に削除したりすると、うまく動作しなくなります。想像ですが、スクロールによって画面が再描画されるような仕掛けが作ってあるのではないでしょうか。というのも、スクロールでついてこない場合でも、画面サイズを変えたりすると正しい位置に動きますので。

時間があったら後でもう少しいろいろいじってみますが、そちらでも研究してみてください。

この回答への補足

補足の方で報告をさせて頂きます。すみません。

CSSで、内容部分をdivで囲んでoverflow:autoにしてheight:100%にして、その部分以外の所をposition:absoluteで配置したら、あのサイトのようになりました。ついでにbodyの縦スクロールバーを無くすと、overflow:autoで指定した部分のスクロールバーが普通の縦スクロールバーのようになりました(横スクロールバーが無ければ)。

自己解決という形になってしまい、すみません。ですがposition:absoluteを使っているとは思いませんでしたので、お二方のご回答が無ければこの方法は思いつきませんでした。本当に感謝します。ありがとうございました。

補足日時:2002/10/28 20:27
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
position:absoluteで再描画するという点には気付きませんでした。ではその点に焦点を絞って、もう一度スタイルシートを調べてみますね。ありがとうございました。

お礼日時:2002/10/27 11:31

CSS関連のサイトなので、説明を読むのがいいかと思います。


とりあえずスタイルシートが公開されているので、それをそのままコピーしてきて試しましょう。
CSSのコツ3あたりも参考になりそうです。
    • good
    • 0

質問にあるページは見ていませんが、スタイルシートでしょ、やっぱり。



position:absolute にして、位置を top と left で指定してるんじゃないですか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ですが、position:absoluteにしてtopとleftを指定しても、あのサイトのようにはなりません。ただ位置を指定してあるのではなく、例えば一番上に固定表示されているものは、ページをスクロールさせて下の方を見ても一番上に固定されているんです。すみません。

お礼日時:2002/10/26 11:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!