ユーザースタイルシートで文字色、背景色が変更できない

このQ&Aのポイント
  • ユーザースタイルシートによる文字色や背景色の変更ができない問題について調査しました。
  • Internet Explorer7、Firefox3でユーザースタイルシートを使用して色を変更する方法について解説します。
  • 一部のサイトでは色の変更が制限されているため、完全に色を変更する方法を見つけることが難しいです。
回答を見る
  • ベストアンサー

ユーザースタイルシートで文字色、背景色が変更できない

以前も同様の質問をしたのですが、題名と内容がわかりづらかったのでもう一度質問させていただきます。 Internet Explorer7、Firefox3でユーザースタイルシートを使い、ウェブブラウジング中に文字色と背景色を変更したいと思います(WindowsXP sp2です)。 それで以下のようなcssを書きました。 ----------------------ここから html head+body { color: #464646 !important; color: #464646 !important; color: #464646 !important; background-color: #cdcdcd !important; background-color: #cdcdcd !important; background-color: #cdcdcd !important; background-image:none !important; background-image:none !important; background-image:none !important; } td { color: #464646 !important; color: #464646 !important; color: #464646 !important; background-color: #cdcdcd !important; background-color: #cdcdcd !important; background-color: #cdcdcd !important; background-image:none !important; background-image:none !important; background-image:none !important; } ----------------------ここまで これをユーザースタイルシートとして指定すると、色が変更できる場合もありますが、 サイトよっては一部の色が変更されません。 (例) 大部分の色が変更できるサイト http://www.kuronekoyamato.co.jp/ 一部しか色が変更できないサイト http://www.yahoo.co.jp/ http://www.4gamer.net/ 結果はIEとFirefoxで少し違いますが、色が完全に変更できない点は同じです。 色を完全に変更するには、どういう記述をすればよいのでしょうか? それとも、ユーザースタイルシートではそういうことはできないのでしょうか?

  • bbcd
  • お礼率68% (207/302)
  • HTML
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> 色を完全に変更するには、どういう記述をすればよいのでしょうか? *{ color: #464646;} p{}だけ指定しても、 <p><span></span></p> となっていれば、 もっとも内側にあるタグ(span)のセレクタが適用されます。 ユーザー定義でspanを指定していなければ、ページ制作者が作ったspanの色が適用されます。 個別に指定するのなら、数はこれだけあります。 http://www.w3.org/TR/html401/index/elements.html これに加えてblink、marquee、ruby、rt、rp、rd、layer、ilayerまで全部指定しておけば、まぁ、たいていのページで色を変えられるんではないかと。 福祉施設の複数のパソコンにまとめてインストール+セットアップとかでなければ、 FirefoxやIEならブラウザの色設定でできるので、そっちでやる方がいいと思います。 > 同じ記述を重ねると優先順位が上がると回答を頂いたのでそうしてみました。 同じ記述、というのがよくわかりませんが、こういうことでしょうか。 p span{} p{} span{} span{} よりも p span{}が優先となります。 (一般的に言われる「優先順位」はここまでしか説明されないと思います) ページ指定スタイルシートとユーザー定義スタイルシートを併用した場合は、 ページ指定スタイルシートp span{}よりも、ユーザー定義スタイルシートのspan{}の方が優先され、 ユーザー定義スタイルシートのp span{}が最優先となります。

bbcd
質問者

お礼

ご回答ありがとうございます。 > *{ color: #464646;} こ、これは…… Firefoxで指定したところ、背景色と文字色どころかサイドバーやメニューまで、タイトルバー以外のすべての色が変更できてしまいました。 ただブラウザの色設定もそうなんですが、画面全体が同じ色になってしまうとあまりに無味乾燥で見づらいので、bodyやtdなどで別の配色を指定したいのです。 (今回の質問ではどれも同じ色にしてましたが) ちなみに、FirefoxのStylishという手軽にユーザースタイルシートを切り替えられるアドオンを使用し、背景色が白で文字色が黒という自分にとってまぶしいサイトを見るときだけ色を変更する、という使い方をします。 それで、例えばウェブページのtdの中に別のタグがあってそこで色を指定していたとしても、ユーザースタイルシートでtdの色を指定すればそれが反映されると思っていたのですが、そうではなく、タグごとに個別に色を指定する必要があるということですね。 > 同じ記述、というのがよくわかりませんが、こういうことでしょうか。 自分はcssの知識はあまりないので、回答をくださった方はそういう意味で書かれたのかもしれません。

その他の回答 (2)

回答No.2

>背景色は変わっているのに文字色がそのままの部分があったりします。 ヒント:fontタグ・ユニバーサルセレクタ >前回の質問で、同じ記述を重ねると優先順位が上がると回答を頂いたのでそうしてみました。 >効果はないんでしょうか? 無いですね。 上の解決にも繋がる話ですが、CSSファイル内での優先順位は セレクタやimportantで決まります。 たとえば、 a {color:red;} よりも、そのaタグを含む親要素を指定し td a{color:red} とする方が優先順位が上がります。

参考URL:
http://tenderfeel.xsrv.jp/css/75/
bbcd
質問者

お礼

ヒントではなく回答を頂きたいと思います。

回答No.1

!important付きスタイルシートの場合、 優先順位はブラウザ使用者が作成したCSSが最高となります。 具体的には次のようになります 1. Webブラウザ使用者が作成したCSS(!important有) 2. Webページ製作者が作成したCSS(!important有) 3. Webページ製作者が作成したCSS 4. Webブラウザ使用者が作成したCSS 5. WebブラウザのデフォルトCSS ざっと見たところ、クロネコヤマトのサイトはテーブルレイアウトで サイト管理者が作成したCSSにTDのスタイルが無いので、 ユーザースタイルシートに記載したTDのスタイルは適用されます。 一部しか反映されないサイトはXHTMLコーディングなので、テーブルそのものが殆どありません。 隣接セレクタ(head+body)はIE未対応です。 ユーザスタイルシートで使えるプロパティやCSSはブラウザによって異なります。 また、スタイル優先順位で負けてると反映されないと思います。 プロパティ3つ並べても適用されるのは一番最後の1つだけですが 何か意味あって書いてあるのでしょうか?気になります。 http://members.jcom.home.ne.jp/jintrick/Personal/usrstyle.html http://firefox.geckodev.org/index.php?%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BCCSS%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA

bbcd
質問者

お礼

ご回答ありがとうございます。 普段はFirefoxを使っているので、Firefoxに絞りたいと思います。 > 一部しか反映されないサイトはXHTMLコーディングなので、テーブルそのものが殆どありません。 XHTMLについてはほとんど知識がないので、具体的にどういう記述をすればいいのか教えて頂きたいのですが…… Yahoo!のソースを見ると、tdの代わりにdivで書いてあるようなので、 ―------------------------------ div { color: #464646 !important; background-color: #cdcdcd !important; background-image:none !important; } ―------------------------------ という記述を追加したところ、大部分の色が変更できました! あとthも追加しました。 ただ、まだ完全ではなくて、 http://www.watch.impress.co.jp/game/ などを見ると、背景色は変わっているのに文字色がそのままの部分があったりします。 これはまたおいおい調べていきたいと思います。 (情報求みます) > プロパティ3つ並べても適用されるのは一番最後の1つだけですが > 何か意味あって書いてあるのでしょうか?気になります。 前回の質問で、同じ記述を重ねると優先順位が上がると回答を頂いたのでそうしてみました。 効果はないんでしょうか?

関連するQ&A

  • 閲覧時に背景色、文字色をcssで変更したい

    WindowsXP、Firefox3を使用しています。 白背景に黒文字という一般的なウェブページの配色はまぶしいので、 Stylishというアドオンを使ってcssで背景色、文字色を変更しようと思い、 以下のようなcssを作成しました。 ------------------------ここから body { color: #696969 !important; background-color: #dcdcdc !important; background-image:none !important; } td { color: #343434 !important; background-color: #d3d3d3 !important; background-image:none !important; } ------------------------ここまで しかし、これだと色が変更できない領域があります。 例えば、 http://www.yahoo.co.jp/  ……一番下?の背景色しか変わりません http://www.4gamer.net/   ……一切変化しません http://www.flay.com/    ……背景色は変わりますが、文字色が変わりません アドオンを使わず、userContent.cssを使う方法にしても結果は同じようです。 どのウェブページでも背景色と文字色を変更するには、どう記述すればよいのでしょうか?

  • スタイルシート…

    たぶん、初歩的な問題なんですが…自力では調べてもわからなかったので… スタイルシートで、画像を固定し、尚且つ、 リンクの貼ってある文字の上にカーソルがくると文字色が変わるようにしたいのですが、 どのようにすればよいのでしょうか? 一応、 <style type="text/css"> <!-- body { background-image : url("画像のURL"); background-attachment: fixed; background-position: 100% 0%; background-repeat: no-repeat ; } a{text-decoration:none;} a:link {color:#色;} a:active {color:#色;} a:visited {color:#色;} a:hover {color:#色;} --> </style> じゃないかな…?と思って、試してみたのですが、画像は固定できてるんですが、 リンクの文字色は変わりませんでした…。 アドバイスお願いします!

    • ベストアンサー
    • HTML
  • スタイルシートでのHRに背景をつける

    いつもお世話になっております。 スタイルシートで罫線にbackground-imageを指定した場合、どうしても影が出来てしまいます。 noshadeを指定したら、background-imageは無効、border : none;を指定してもIEには反映されず(color指定したらbackground-imageは無効?)どうすれば良いか困っています。 罫線の背景で指定するよりもimgで指定する方が良いのでしょうか。 background-imageを指定するとrepeatが使えて助かるのですが… よろしくご指導お願いいたします。

  • スタイルシートのリンクの色

    HPを作成していて、スタイルシートを利用してリンクの設定をしました。 a:link{color:#0066ff} と書いて色が変更できるだろうと思いきや、何度やっても紫色(オフィシャルの色?)にしかならないのですが、何がわるいのでしょうか? 原因がわかりません。 ちなみに、<a href="">~</a>とつながってない設定には反応するみたいでちゃんと色が変更されます。 対応するファイルがあると反応して紫色になるみたいです。 なんか変な設定とかしてるんでしょうか? 一応スタイルシートを全部載せておきます。 よろしくお願いいします。 <style type="text/css"> <!-- body { background-image : url(img/9ron/c-koutarou.jpg); background-position: 100% 100%; background-repeat:no-repeat; background-attachment:fixed; color:#336666; margin:0px; } A:link {color:#0066ff; text-decoration:none } table.head { width:100%; height:100%;} td.head1 { font-size:40px; font-family:'Comic Sans MS'; margin-bottom:10px; background-image : url(icon/bg/bg3.gif) ;} td.head2 { font-size:20px; font-family:'Arial Black'; background-image : url(icon/bg/bg3.gif) ;} h1 {font-size:14px; text-align:left; border-style:dashed; color:#336666; width:400px; margin:10px ;} --> </style>

  • スタイルシートで

    外部スタイルシートのみでリンクの上にマウスが乗ったら背景の色が変わるようにしているのですが、 a:link {background-color: #FFFFFF;} a:hover {background-color: #000000;} a:visited {background-color: #FFFFFF;} この場合、一度リンクしたら次にマウスが乗っても変化しません。外部スタイルシートのみでうまくいく方法はあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • スタイルシートをFirefoxでもうまく表示させるには・・・

    スタイルシートでセルに背景を指定しています。 Left{ color : white; background-repeat : no-repeat; background-attachment : fixed; width : 208px; font-size : 12px; font-weight : bold; text-align : center; background-image : url(.gif); } IEではその背景はうまく表示されるのですが Firefox ではその背景は表示されません。 その原因を色々なサイトで調べてみましたが明確な対処方法が見つかりません。 セルの背景をスタイルシートで指定してFirefox でもうまく表示させる方法を教えて下さい。

  • 2つ画像を背景にするスタイルシートってある?

    1つの画像をスタイルシートで背景にするのは、知ってるんですが、2つの画像を同じページに背景にはできるのでしょうか?下記は1つの画像を背景にするスタイルシートです。これのどこかをいじれば可能なのでしょうか? <STYLE TYPE="text/css"> <!--    BODY {       background-image:素材のURL;       background-position:0% 100%;       background-repeat:no-repeat;       background-attachment:fixed;     } --> </STYLE>

    • 締切済み
    • CSS
  • 背景色を透明化

    スタイルシートで指定した背景色をJavaScriptで 透明にしたいと思うのですができませんでした ご存知の方いらっしゃいましたらおしえてください 必要と思われる部分をいかに記述します スタイルシート部 <DIV id="L1" style="background-color:pink"> こんにちは </DIV> JavaScript部 document.all.L1.style.backgroundColor="none"; 「none」にするとプロパティーエラーになってしまいます 透明というなにか特別な色コードがあるのでしょうか おしえてください。

  • スタイルシート・・・この記述は正しいですか?

    メモ帳で(苦笑)HPを作っています。いままではテーブルなどのほんとに簡単なタグしか使っていなかったのですが、そろそろサイトデザインを変えたいな~と思って、スタイルシートに挑戦してみることにしました。マウスをオンにしたときリンクの背景色が変わるとか、スクロールバーの色を変えるとか、見た目は思った通りに表示できているのですが(ブラウザIE6.0/NN6.02です)、本やいろんなサイトさんのソースを参考に打ってるだけなので、本当にこれで合っているのか不安です。お時間のある方アドバイスなど頂けたらと思います。よろしくお願いします。 <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta name="robots" content="index,nofollow"> <style type="text/css"> <!-- body { background-color:#; scrollbar-face-color: #; scrollbar highlight-color: #; scrollbar-shadow-color: #; scrollbar-3dlight-color: #; scrollbar-arrow-color: #; scrollbar-track-color: #; scrollbar-darkshadow-color: # } a{text-decoration:none} a:link {color:#;background-color:#;} a:visited {color:#;background-color:#;} a:hover {color:#;background-color:#;} --> </style> </head> <body> </body> </html>

    • ベストアンサー
    • HTML
  • スタイルシート上でリンク文字色の設定

    ○スタイルシート iro { font-size: 18; } iro:link { text-decoration:none;color:赤; } iro:visited { text-decoration:none;color:青; } iro:hover { color:黄 } iro:active { text-decoration:none;color:緑; } ○本文 <p id="iro">  <a href="abc.html">リンク</a>           </p> すごく基本的な質問です。 スタイルシート上でリンク文字の色を設定したいのですが、さっぱりわかりません。 上のコマンドではうまくいかないことは確認済みなんですが、一応書いてみました。 ちなみに赤、青といった色指定の部分は、簡単になるように「#~」ではなくああいう風に書いています。 めんどうでしたら、色指定の部分は空白でかまいません。 正しい書き方を教えてもらえないでしょうか。

    • ベストアンサー
    • HTML

専門家に質問してみよう