olidStateEveryday - Ajax,javascript,UIサンプルとチュートリアル -

Ajax,Javascript、様々な効果を発揮するスクリプトサンプル設置方法

  1. Home>
  2. その他>
  3. CSS切り替え>
  4. ブラウザを判別するCSSセレクタ

CSS切り替えcss browser selector.js

ブラウザを判別するCSSセレクタ

スポンサードリンク
  • del.icio.us に登録
  • ライブドアクリップに追加
  • Google Bookmarks に追加
  • はてなブックマークに追加
  • Yahoo!ブックマークに登録
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無題ドキュメント</title>
<script src="css_browser_selector.js" type="text/javascript"></script>
<noscript> 
<link rel="stylesheet" href="common.css" type="text/css"/> 
</noscript>
<link rel="stylesheet" href="common2.css" type="text/css"/> 
</head>

<body>
<div>&nbsp;</div>
</body>
</html>

各ブラウザに対応した、CSSセレクタを実装するjavascript。
簡単に言えば、CSSハックのJavascript版
ブラウザを判別して適用する外部CSSファイルを変更する、といったスクリプトとは異なり、「.クラス名」などのセレクタ名で各ブラウザに対応させたCSSの記述を行うことが出来るようになります。
使用方法はとても簡単で、スクリプトを読み込ませさえすれば、後はCSSファイルの記述でブラウザに対応させることが出来ます。
またOSを判別して、例えば「macのfirefox2」の様な指定でCSSを適用させることも可能です。 
(サンプルではOS関係ナシに、開いているブラウザのロゴが背景で表示されるようにしています。) 

ダウンロード&<head>

まずサイトへ行きcss_browser_selectorをダウンロードします。
チュートリアルは、http://rafael.adm.br/css_browser_selector/で見ることが出来ます。
それを解凍し、できたフォルダを見るとrafaelp-css_browser_selectorというフォルダの中に、css_browser_selector.jsというファイルがあります。
これが、メインのスクリプトですので、こいつをアップロードしたら、適用させたいHTMLファイルのヘッダーに読み込ませます。

<script src="css_browser_selector.js" type="text/javascript"></script> 

これで準備完了です。

CSSの記述方法

CSSセレクタの記述によって、各ブラウザに対応させるスタイルを決定します。

 .ie6 body{background-color:#FFF} 
 .ie7 body{background-color:#CCC}  

例えばこのように記述することで、IE6では背景白。
IE7だと背景はグレーとなります。 

 .ブラウザの省略名 セレクタ{CSSのプロパティ}  

上記が基本的な記述形式です。
OSごとに分けたい場合は、

 .OSの省略名.ブラウザの省略名 セレクタ{CSSのプロパティ} 

となります。

 .mac.ff3 body{background-color:#000} 

このように記述しますが、OSとブラウザ省略名の間にスペースを入れないように注意します。
以下は対応しているOSとブラウザの省略名です。 

対応OS

  • win - Microsoft Windows
  • linux - Linux (x11 and linux)
  • mac - Mac OS
  • freebsd - FreeBSD
  • ipod - iPod Touch
  • iphone - iPhone
  • webtv - WebTV
  • mobile - J2ME Devices (ex: Opera mini)

対応ブラウザ

  • ie - Internet Explorer (All versions)
  • ie8 - Internet Explorer 8.x
  • ie7 - Internet Explorer 7.x
  • ie6 - Internet Explorer 6.x
  • ie5 - Internet Explorer 5.x
  • gecko - Mozilla, Firefox (all versions), Camino
  • ff2 - Firefox 2
  • ff3 - Firefox 3
  • opera - Opera (All versions)
  • opera8 - Opera 8.x
  • opera9 - Opera 9.x
  • opera10 - Opera 10.x
  • konqueror - Konqueror
  • webkit or safari - Safari, NetNewsWire, OmniWeb, Shiira, Google Chrome
  • safari3 - Safari 3.x
  • chrome - Google Chrome

関連スクリプト

感想

ブラウザごとにCSSを修正したいと思う箇所って、1箇所、2箇所とかポイントであることが多いので、このスクリプトはとても使いやすいと思います。
CSSハックも完璧とは言えないので、とても重宝しそうなスクリプトです。 

スクリプトの使用について

SolidStateEverydayでご紹介しているAjax,Javascript等のスクリプトをご利用になる場合は、必ず製作元のサイトで使用ライセンスを確認してください。ご利用は自己責任でお願い致します。

結局、エックスサーバーなんですよね。