• ベストアンサー

CSSが動作しないブラウザのために、代わりに表示させる内容を指定したい。

k_ginjiの回答

  • k_ginji
  • ベストアンサー率75% (3/4)
回答No.3

ブラウザによって、指定させるCSSをJavaScriptで切り替える手法は良く使われます。ただし、今回は「CSSが動作しない」場合の処理ということで、若干状況が違いますね。「このブラウザはCSSが使用できません。」みたいなメッセージを表示させたいのでしょうか? NECのサイトの場合、使用しているCSSファイル内で、pタグの設定を記述していると思われます。 【例:NECサイトのCSS指定(予想)】 p.nf-message { display: none; } というClass指定をしてあれば、CSSが効くブラウザだと<p class="nf-message"></p>で挟まれた文字はdisplay:none;のために表示されず、逆にCSSが効かないブラウザであれば、Class指定が無効になり、<p></p>で挟まれたものと同様で、普通に表示されます。

nana_watuki
質問者

お礼

実際にやってみたところ問題なく動作しました。 ご回答いただきありがとうございました。

関連するQ&A

  • ブラウザごとのCSSの表示

    CSSはブラウザごとに表示のされかたが変わるとのことで、 それぞれのブラウザ(特にIE)での表示を 自分のブラウザの設定を変えないで(?) 確認できるフリーソフトかウェブページはありますか? 知ってましたら、教えてください。 お願いします。

  • CSSやJavaScriptのバージョン指定

    HTMLを書くときにCSSやJavaScriptのバージョン指定は必要なのでしょうか。 各ブラウザのバージョンによって対応するCSS・JavaScriptのバージョンが決まっていると思うのですが、例えば、CSS3やJavaScript2がでてきたときに、バージョン指定していないWebページで表示が壊れる等ないのでしょうか。 現在CSS2.1で書かれたページもいつかは、CSS2.1対応のブラウザがなくなり見れなくなります。 ただ、近々CSS3がでたときにバージョン指定していないため、ブラウザ側でCSS3で表示しようとし、見れなくなる等あるのでしょうか。 ご回答いただければ幸いです。

    • ベストアンサー
    • HTML
  • 特定のブラウザで動作しません

    いつもお世話になっております。 フリーのスクリプトを設置しましたが 特定のブラウザでうまく動作しません。 ページにアクセスすると、用意させた背景イメージがランダムで読み込まれるというスクリプトです。 さらに、CSSで背景位置や繰り返しを設定できるようになっています。 IE6.0では問題なく動作するのですが Opera7.23とNetScape7.1で動作しません。 動作しないだけではなく、一緒にUPしているテキストと画像も全く見えなくなり ページが真っ白に表示されてしまいます。 スクリプトを全て外すと、テキストも画像も表示されました。 ブラウザはWinXP・HOMEと、Pro両方。 HP作成ソフトはHPビルダーですが 自動構文チェックは外していますし 念のためテキストで開いて更新もしてみましたが、やはりダメでした。 もとのスクリプトは画像へのパスくらいしかいじっていません。 また、他のスクリプトやCSSは同時に設定していません。 他に考えられる原因はあるでしょうか? なお、配布元には OperaでもNetScapeでも、バージョン6.0以上なら 動作すると書いてあるのですが・・・ 配布元にももちろん問い合わせたのですが なかなかレスがつかないので、こちらでも質問してみました。 よろしくお願いします。

  • CSSで指定していないのに線が表示されてしまう

    自作のサイトですが、IE8でサイトを表示するとCSSで指定していないのに線が表示されてしまうことで困っています。 CSSで指定してないので、消しようがありません。 問題のサイトはこれです。 http://www.hoken-johokyoku.com/ firefoxでは線はでませんが、IE8では出てしまうのです。 どなたか解決策を教えてください。

    • ベストアンサー
    • HTML
  • 各ブラウザにおいて、表示できるCSSとできないCSS

    こんにちは。はじまして。 現在ブログを製作しております。 先日、http://www15.ocn.ne.jp/~mksozai/design/line.html こちらのサイトで、変わったCSSを見つけ早速ブログのデザインに生かしてみようと導入しました。 IEでは問題なく表示されるのですが、Firefoxでは効果が適用されません。。。 そのCSSは filter:alpha(opacity=100,finishopacity=0,style=1); こちらになるのですが、これをIE以外のブラウザにも効果を適用させる方法はないでしょうか? これはIEのみ表示できるCSSだと解釈するべきなのでしょうか? ご存知の方がおられましたら、教えていただけると幸いです。 よろしくおねがいします

    • ベストアンサー
    • HTML
  • リセットCSSはブラウザではどう処理されているのか

    まず、ユニバーサルセレクタによる方法では、対象のWebサイトで使われいるタグ以外、全て(ブラウザに登録されてあるタグ?)もブラウザで処理されるのでしょうか? 例えば、そのWebサイトでh1、h2が使われていたとしたら、使われていないh3やh4などのマージン・パディングも0になるようにブラウザ内で処理されているのでしょうか? また、ユニバーサルセレクタではなく以下のように指定してある場合は、ブラウザはここに記述してあるタグだけをマージン・パディングを0にするのでしょうか? body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6, pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{ margin:0;padding:0; } その他のブラウザに登録されてるタグは処理されない、ノータッチということですかね。

    • ベストアンサー
    • CSS
  • CSSでのリンク指定(?)

    現在、外部CSSで、<h1>タグの背景にタイトル画像を表示するように設定しています。 HTML上の<h1>タグ内では、タイトルに値するテキストを入れていますが、ブラウザの表示できない所においやってあります。 その表示されているタイトル画像(h1で表示している部分)に他ページへのリンクを設定したいのですが、こうした場合のリンク設定はどのようにすればよろしいのでしょうか? CSS内で設定することは可能なのでしょうか? それとも、HTML上でなんらかの形でリンク設定を行うものなのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • ブラウザ表示用と印刷用のCSSが同一の場合、ブラウザの表示と印刷ページでは、表示に大きな差がありますか?

    例えば、IEはTridentというレンダリングエンジンを搭載しているようです。当然、ブラウザ表示のレンダリングはTridentが行うと思いますが、IEで印刷する場合のレンダリングも同じレンダリングエンジンが使用されるのでしょうか? もしそうであれば、CSSのmediaタイプにprintを指定した場合(ブラウザ表示用のCSSと印刷用のCSSが同一場合)、ブラウザ上の表示と印刷ページの表示には、 ・フォント(サイズ)の相違 ・デフォルトで背景を印刷しない ・クライアント側の印刷用紙サイズによって画面右側が途中で切れる の点を除いて、例えば、印刷ページにのみ特有のバグ等の大きな差がありますでしょうか?

  • CSSで背景画像指定

    どなたかアドバイスお願いします。 CSSを使って<p></p>の中に背景画像を指定した場合<p></p>の中は背景指定のみでタグの中は内容が何も無い状態です。 テーブルを使ってのレイアウトの場合spacer.gifなどを使えば解決できるのですが。 CSSのみでのレイアウトの場合はHTMLタグの中の要素が空になってしまう場合 は、どのように対処すればよろしいのでしょうか?

    • ベストアンサー
    • CSS
  • CSSでクラス名を指定してもうまくいかない

    下記URLのサイトを参考にして「Google+1ボタン」を設置しようとしています。 https://developers.google.com/+/web/+1button/?hl=ja とりあえずサイト上には設置できたのですが、今度はこの「Google+1ボタン」を自分が設置したい場所に貼り付けるために、CSSで指定しようと思いました。 ちなみに、取得したコードは以下のようになっています。 <!-- +1 ボタン を表示したい位置に次のタグを貼り付けてください。 --> <div class="g-plusone" data-size="medium"></div> <!-- 最後の +1 ボタン タグの後に次のタグを貼り付けてください。 --> <script type="text/javascript"> window.___gcfg = {lang: 'ja'}; (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/platform.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script> コードは上記のようになっています。 class="g-plusone" となっていますので、このままこれをクラス名としてCSSに記述しても適用されません。 そこで、これにさらに<div>タグで囲んで、この<div>にクラスを付ければできると思い <div class=”sample”><div class="g-plusone" data-size="medium"></div></div> として、sampleに対してスタイルを指定してみたところ、うまくできました。 しかし、できればこのようなことはせず、"g-plusone"というクラス名が最初から付いているわけですから、これを利用できないかと考えています。 もし、できるのであれば、そのやり方を教えてください。

    • ベストアンサー
    • CSS