2010年2月14日日曜日

Dojo基礎文法最速マスター ~CSS編~

Dojoにはテーマがあります。

<style type="text/css"> @import "http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/resources/dojo.css"; @import "http://ajax.googleapis.com/ajax/libs/dojo/1.4/dijit/themes/soria/soria.css"; @import "http://ajax.googleapis.com/ajax/libs/dojo/1.4/dijit/themes/nihilo/nihilo.css"; @import "http://ajax.googleapis.com/ajax/libs/dojo/1.4/dijit/themes/tundra/tundra.css"; </style>
最初の1つはいわゆるリセットCSS。残りの3つがテーマ。読み込んだだけでは適用されません。 テーマを適用したい範囲にclass="テーマ名"の属性を付けます。全体に適用したいなら、
<body class="soria">
こんな感じで<body>タグに設定します。
Dojoは読み込まれると<html>タグに次のクラスを設定します。
  • dj_ie / dj_ie6 / dj_ie7 / dj_ie8 / dj_iequirks
  • dj_gecko / dj_ff2 / dj_ff3
  • dj_khtml / dj_safari / dj_chrome
  • dj_opera
  • dj_contentBox / dj_borderBox
このため、ブラウザごとに挙動が違う場合もCSSで簡単に解決できます。 たとえば、IEだけ異なる挙動をする場合、
<style type="text/css"> /* ブラウザ共通 */ .someClass { ...; } /* IEのみ異なる部分を上書き */ .dj_ie .someClass { ...; } </style>
こうすると、CSSの優先順位により!importantしなくてもIEでのみ上書きされます。 CSSだけで解決できるので、JavaScriptで書き換えとかしなくて済みます。

0 件のコメント: