- ベストアンサー
Operaでスクロールバーの色が変わらない
最近ホームページをリニューアルしようと、 新しいテンプレートをダウンロードして、早速作成していたのですが、 オペラでみたときにスクロールバーの色が変わらないんです。 IEではちゃんと変わったのに、なぜなのでしょうか? 何か原因が分かる方、教えてください。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
> となると新しく作っているホームページに邪魔なタグがあるんでしょうか…。 DOCTYPE宣言で標準準拠モードにしていた場合使えないはずです。 ところでOperaの設定は確認したのですか?(#5参照)
その他の回答 (8)
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
既に締め切られているけど一応言っておくべきだと思ったので追加回答!(笑) > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "アドレス"> > ↑こういうものでしょうか? そうです。 > ならばこれを消せば大丈夫なのでしょうか? これ自体を消す必要はないんですけどね?^^; 下記のようにアドレスを省略すると互換モードとなり独自拡張が使えるようになります。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> HTMLは厳密に見た場合DOCTYPE宣言を書くことが正しいので別に消さなくていいでしょう。 > 後気づいたのですが、<html lang="ja">というのも関係あるのでしょうか? lang="ja"というのはページの言語を設定するための情報です。jaを指定することでこの文章は日本語でかかれてますという意味になります。 ま、指定しないよりは指定したほうがマシです。消してたら復活させても構いませんよ。 最近のブラウザならDOCTYPE宣言書かなくても言語を指定しなくても正しく読み込めますけど、正しいHTMLを書こうとするならば省略すべきではないです。
DOCTYPE宣言はブラウザによって勝手に作ってきた命令を整理して、標準化させるための決め事です。 スクロールバーの色を変えるのは、IE独自の命令なのでDOCTYPE宣言してしまうと、その命令は無視されるわけです。 私のブログとホームページはスクロールバーの色をいじっていますので、DOCTYPE宣言はしていません。 そのためHTML構文の検証で、いつも怒られていますよ。 スクロールバー関係の命令はbodyの中に1度書けばそれでいけると思うのですが。
お礼
消したら大丈夫でした。 詳しく教えていただいてありがとうございました。
補足
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "アドレス"> ↑こういうものでしょうか? ならばこれを消せば大丈夫なのでしょうか? 後気づいたのですが、<html lang="ja">というのも関係あるのでしょうか?
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
> ちなみにOpera9です。 > cssのソースを書けばいいのでしょうか? 当方の環境ではスクロールバーのスタイルを有効にしていれば正常に動作しましたよ。 ただ、htmlに対してスタイルを設定する必要は余りないかと思われます。bodyに設定すればそれで十分。
補足
>ただ、htmlに対してスタイルを設定する必要は余りないかと思われます。 cssは知識があまり無かったので、 テンプレのまま使ってました。 となると新しく作っているホームページに邪魔なタグがあるんでしょうか…。
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
> スクロールバーの色を変えるCSSはIEの独自採用です。 > よってIEのみ適用されます。 Operaはバージョン7.0以降互換機能としてスクロールバーの色を変えるCSSをクロスプラットフォームで実装しています。 (Windows以外のOSでもちゃんと有効だということを一応人づてですが確認しました) 規格的には非標準仕様となることに変わりないのですが、WinIEだけでしか使えないという認識は必ずしも正しくないんですよね…^^; ツール→設定→詳細設定タブ→コンテンツ→スタイルオプション→スクロールバーにスタイルを適用、にチェックを入れていればスクロールバーの色が変化します。 チェックが入っていなければ変化しません。ページの作成者が提供するデザインを利用するかしないかお好みで選べる、と言うことですね。 尚、実装状況にはいくつか違いがあります。scrollbar-track-colorを設定しなかった場合IEではこの部分は編み掛け模様になるのですが、Operaでは白になります。 それから、IE(IEコンポーネントブラウザ)ではscrollbar-3dlight-colorとscrollbar-darkshadow-colorを無効にするフラットスクロールバーと呼ばれる機能が実装されていますが、Operaにこの機能はありません。
- goldfox
- ベストアンサー率49% (123/249)
> ありえないんですが。 Opera7では可能なようですよ。 http://www.tagindex.com/stylesheet/page/scrollbar_color.html > ちょっとそのソースかページのURL公開してくれません? 質問者のサイトURLの提示は禁止事項にあたるので、ソース提示をしましょう。 IEでは補完されるけどOperaでは補完されない、ちょっとしたミスが原因であるような気がします。
補足
ちなみにOpera9です。 cssのソースを書けばいいのでしょうか? html{ margin:0px;padding:0px; scrollbar-3dlight-color:#fff; scrollbar-arrow-color:#000; scrollbar-darkshadow-color:#fff; scrollbar-face-color:#fff; scrollbar-highlight-color:#000; scrollbar-shadow-color:#000; scrollbar-track-color:#fff; } body{ margin:0px;padding:0px; scrollbar-3dlight-color:#fff; scrollbar-arrow-color:#000; scrollbar-darkshadow-color:#fff; scrollbar-face-color:#fff; scrollbar-highlight-color:#000; scrollbar-shadow-color:#000; scrollbar-track-color:#fff; } /*リンク*/ A{text-decoration:none;} A:link {color:#696969;} A:active {color:#48d1cc;} A:visited {color:#696969;} A:hover{color:#48d1cc;} /*テーブル*/ table tr td.ltu{ width:160px;height:480px; border-top:1px solid #000; border-bottom:1px solid #000; } table tr td.lr{ border-right:1px solid #000; background:url(img/bg_body.gif) #000; } table tr td.lt{ width:400px; border-top:1px solid #000; background:url(img/bg_body.gif) #000; } table tr td.lu{ width:400px; border-bottom:1px solid #000; } table tr td.cimg{ height:480px; background:url(img/img07.gif) top center repeat-y; } img{ border:0px; }
- mazimekko3
- ベストアンサー率38% (74/194)
> しかし今のリニューアルする前のホームページは、 ちゃんと変わっているんです。 ありえないんですが。 ちょっとそのソースかページのURL公開してくれません? テンプレート落としてきたサイトでもかまいませんが。
- mazimekko3
- ベストアンサー率38% (74/194)
仕様です。 スクロールバーの色を変えるCSSはIEの独自採用です。 よってIEのみ適用されます。 Safari,Firefox,NNでも変わりませんよ。
補足
しかし今のリニューアルする前のホームページは、 ちゃんと変わっているんです。 何でなのでしょうか?
- mm_mm2000
- ベストアンサー率25% (7/27)
HTMLタグの対応によるものです。 IEとネスケでも微妙にタグが違う部分があります。
お礼
おかげさまで解決しました。 ありがとうございます。
補足
>ところでOperaの設定は確認したのですか?(#5参照) 確認しました。ちゃんと有効になってました。 >DOCTYPE宣言で標準準拠モードにしていた場合使えないはずです。 これは何なのでしょうか? 詳しく教えていただければ幸いです。