« [.NET] WPF Toolkit っていうか DataGrid コントロールの CTP、 出てます | トップページ | [わんくま同盟 名古屋勉強会] 第3回 - アンケート »

2008年8月17日 (日)

[Web] body 側でスタイルシートを定義する

CSS のセレクタを使ったスタイル定義、 たとえば
  body{ background-color:#7380FF; }
みたいなものは、 HTML の文法上は head 要素内に置かなければなりません。

ところが、 blog とかでは、  head 要素内を勝手にいじることが許されないこともあります。
さて、 どうするか…
調べてみたら、 標準無視 ( つまり、 思ったとおりにならないブラウザがあっても、 それは書いたほうが悪い f(^^; ) でよければ、 ある程度なんとかなるもんなんですね。

・ Firefox 2.x
body 要素内に style 要素があっても、 認識してくれます。 ので、 body 内の好きなところで、
<style type="text/css">
body{ font-family: ''; background-color:#7380FF; }
</style>

…などと記述すれば OK。
※ font-family: ''; ってやると、 Firefox ではそこまでの font-family 指定がクリアされるみたい。 これも嬉しい f(^^;

・ IE7
body 要素内の style 要素は、 文法どおりに無視してくれます。
その代わり、 body 内の javascript で StyleSheet オブジェクトを操作できます。
<script type="text/javascript"><!--
if (typeof document.createStyleSheet != 'undefined'){
  var ss = document.createStyleSheet();
  ss.addRule("body", "background-color: #7380FF;");
  ss.addRule("body", "font-family: 'Meiryo' !important;");
}
// --></script>

※ IE では font-family: ''; って書いても、 そこまでの font-family 指定を潰せませんでした。

…以上を、 #アニメ・コミック の方に使ってみました。
Firefox の人は、 それぞれが設定しているフォントで表示されるようになったかと思います。 IE では、 メイリオが入っていればメイリオで、 そうでなければ ( blog のテンプレートで指定されている ) MS P ゴシック で表示されるかと思います。

|

« [.NET] WPF Toolkit っていうか DataGrid コントロールの CTP、 出てます | トップページ | [わんくま同盟 名古屋勉強会] 第3回 - アンケート »

プログラミング」カテゴリの記事

PC・インターネット」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [Web] body 側でスタイルシートを定義する:

« [.NET] WPF Toolkit っていうか DataGrid コントロールの CTP、 出てます | トップページ | [わんくま同盟 名古屋勉強会] 第3回 - アンケート »