2006/06/29: CSSの振り分けテクニック
よく使うのですぐにコピペ出来るようにまとめておきます。
■Mac版IE 5.x
MacIEが「*/」の直前に「\」をつけるとコメント終了を認識できないバグを利用したテクニック。
■Win版IE+Mac版IE
IEではCSS2の仕様では優先されるべき「!important」タグが無視される。
<例>
▽ 2006.07.23 三尾追記
■Win版IE (2006.07.23 三尾追記)
全てのWindows版IE以外に他と違う設定をする。
■Win版IE (2010.03.30 寺田追記)
もはや、Mac版IEとかIE5とかは無視してもいい時代なので、上みたいな面倒な書き方ではなくてこれだけでいいと思います。
IE6とIE7にだけCSSを上書きしてやる書き方です。
あと、良く使うmin-heightの書き方も定型文化しとくといいでしょう。
■Mac版IE 5.x
MacIEが「*/」の直前に「\」をつけるとコメント終了を認識できないバグを利用したテクニック。
ここはMacIEだけに適用
/*↑Style for MacIE5.x\*/
ここでそれ以外のブラウザ向けに上書き
/*↑Style for Others*/
/*↓Style for Others\*/
ここはMacIEに適用されない
/*↓Style for MacIE5.x*/
MacIE、その他全てに適用される
■Win版IE+Mac版IE
IEではCSS2の仕様では優先されるべき「!important」タグが無視される。
!important
<例>
#fugefuge
{
background:black;!important
background:white; /*←IE用スタイル*/
}
▽ 2006.07.23 三尾追記
/*Win IE以外のブラウザ用 */
.hoge{ background:black; }
/*IE5.01 と IE5.5 と IE6 に対応したパターン*/
* html .hoge{
background:white;
}
■Win版IE (2006.07.23 三尾追記)
全てのWindows版IE以外に他と違う設定をする。
body {width:100px; } /* winIEのみ */
*html>body {width:200px; } /* winIE以外 */
■Win版IE (2010.03.30 寺田追記)
もはや、Mac版IEとかIE5とかは無視してもいい時代なので、上みたいな面倒な書き方ではなくてこれだけでいいと思います。
IE6とIE7にだけCSSを上書きしてやる書き方です。
div.hoge
{
/* 通常スタイル */
}
/* IE 6 */
* html div.hoge
{
/* IE6用通常スタイル */
}
/* IE 7 */
*:first-child+html div.hoge
{
/* IE7用通常スタイル */
}
あと、良く使うmin-heightの書き方も定型文化しとくといいでしょう。
div.hoge
{
min-height: 600px;
height: auto !important;
height: 600px;
}
2006/06/26: Flash Lite 1.1で親のムービークリップを参照する
Flash Lite 1.1 では、_parent などを使って親のタイムラインを参照することができない。
そこで用いられるのが、tellTarget("mc_name");
だが、ここで親を参照するには、
tellTarget("../");
とすれば良い。
また、親の子供にあたるクリップは、
tellTarget("../mc_name");
などとする。
これによって子供のMCから親のMCへ指示を出すことが可能となる。
ちなみに、親MCのプロパティを参照したいときは、
eval("../").property
とすれば、参照することができる。
同様に、親の親は、
eval("../../").property
で参照が可能。
そこで用いられるのが、tellTarget("mc_name");
だが、ここで親を参照するには、
tellTarget("../");
とすれば良い。
また、親の子供にあたるクリップは、
tellTarget("../mc_name");
などとする。
これによって子供のMCから親のMCへ指示を出すことが可能となる。
ちなみに、親MCのプロパティを参照したいときは、
eval("../").property
とすれば、参照することができる。
同様に、親の親は、
eval("../../").property
で参照が可能。
フルフラッシュサイトなどで、javascriptを使ってFlashのバージョンに応じて振り分けを行う際にgoogleは、flashのバージョンが0(ゼロ)扱いになるせいか、flashが置かれているページがインデックスされなかった。もしかすると、locationでジャンプさせると、そのページはインデックスされずに、ジャンプした先のページしかインデックスされないのかもしれないので注意。
Windows IE で、日本語と英語が入り混じった文章にletter-spacingを"normal"に指定すると、英語の文字の大きさと日本語の文字のに対する letter-spacing が異なるようなので、微妙に文字の位置が文章のないようによってズレることがあるようだ。
2006/06/12: Windows IE で、中身がない div を使うときの注意点
Windows IEでは、divタグの中に何もない場合でも、フォントのサイズや、letter-spacing の設定が生きているため、それらの影響を受けないように、font-size:0; line-height:0; などとした方が良さそう。
divタグの中身を背景画像のみにする場合や、単にclear:both; などの指定のみで中に何の要素もないようなdivを使うときは注意しないといけない。
divタグの中身を背景画像のみにする場合や、単にclear:both; などの指定のみで中に何の要素もないようなdivを使うときは注意しないといけない。
2006/06/10: Window IE で、Flash Player上でのクリックがすぐに効かない
「KB912945」のパッチという超うっとうしいパッチが、2006年の4月にWindows Updateの中に紛れ込んでいたそうです。
標題の通り、Flash Player を一度クリックしないと、FLashの内容がアクティブにならないので、それを知らない人がFlash上で、「ここはクリックできるのかな?」と思ってクリックしても動かないため、場合によってはクリックできるのに、クリックできないと思い込んでしまう可能性もある。
対策方法は、上記のURLにて確認できます。
対策方法
All About Japan
2006/06/08: FLASHのswfファイルの容量を軽くする方法 (1)
携帯電話など処理能力の低い端末で見ることができるFLASHファイルにはデータ容量の制限がある。そういったときにいかにファイルの容量を減らすかということが問題になる。ここでは、swfファイルの容量を減らす方法について色々メモをしていこうと思う。
▽方法1
同じ図形は、シンボル化(ムービークリップやグラフィック)にして、そのインスタンスを配置していくほうが、ファイルの容量は断然軽い。
たとえば画面上にベジェのデータのままで、1000個の丸を描いたものと、500個の丸をシンボル化したものを2つ配置したのでは、後者の方がデータ容量が50%程度に落とすことができる。
▽方法1
同じ図形は、シンボル化(ムービークリップやグラフィック)にして、そのインスタンスを配置していくほうが、ファイルの容量は断然軽い。
たとえば画面上にベジェのデータのままで、1000個の丸を描いたものと、500個の丸をシンボル化したものを2つ配置したのでは、後者の方がデータ容量が50%程度に落とすことができる。
2006/06/07: Windows IE で、外部VB Script が読み込まれない
Flashで、パブリッシュをするときに、「Flash Playerのバージョンを検知する」にチェックを入れてすると、VB Scriptや、java scriptを書き出してくれるが、これらのコードのうち、VB Scriptの部分を、外部ファイルにすると、Windows IEでこのファイルが読み込まれないのか、何故か動かなくなってしまうようです。ちなみにFireFoxでは外部ファイルのVB Scriptはちゃんと読み込まれて動作するようです。
ということで、VB Scriptの部分についてはHTMLファイルに埋め込んだ方が良さそうです。尚、複数のHTMLでFLASHを用いている場合に、このようにjava scriptを外部ファイルにすることが多いかもしれませんが、Full Flashのサイトなどのは場合、HTMLファイルに全て埋め込んだままでOKだと思います。
ということで、VB Scriptの部分についてはHTMLファイルに埋め込んだ方が良さそうです。尚、複数のHTMLでFLASHを用いている場合に、このようにjava scriptを外部ファイルにすることが多いかもしれませんが、Full Flashのサイトなどのは場合、HTMLファイルに全て埋め込んだままでOKだと思います。