NN4.0では、<LAYER>の座標を自由に配置できることは有名ですが、 その他のHTMLタグについても操作出来ることはあまり知られていません。 NN4.0ではタグにIDとスタイル属性"position"を付けることによって、そのタグを操作することが可能になります。
<SPAN ID="TAG1" STYLE="position:absolute"> Dynamic HTML </SPAN>上記の様に記述すると、上記のタグ"TAG1"は、レイヤーオブジェクトを通してコントロールする事が出来ます。 つまり、NN4.0においてはIDとポジション指定を付けたタグは、 <LAYER>と同じようにコントロール出来るのです。
これによって、同じタグをIE4.0とNN4.0で共有できるようになります。
意外と知られてないスタイル属性ですが、これはかなり便利です。
これは、<A>タグに対して持つ属性ですが、 <HEAD>内でA:hoverと宣言することにより、 マウスがリンクの上を通過したときのSTYLEを設定できます。
つまりJavaScriptを使わずに、リンクの上にマウスが乗ったときに、 リンクのテキストの色を変えたり、サイズを変えることが出来ます。<STYLE TYPE="text/css">こう記述することにより、<A>がhover状態の時に、リンクの色が赤となります。 マウスが離れたときは元の状態に戻るので、いちいちonMouseoutを付けたりしなくていいのも便利です。 それにJavaScriptを使わないので、エラーの心配もないですし、 「JavaScriptが無効」の状態でも動くという、いいこと尽くめなのでお勧めです。
<!--
A:hover { color:red; }
-->
</STYLE>
また、A.class:hover { }とも出来ますのでリンクタグ毎にClassを設定したりすることもできます。
ちなみにJavaCのページの各所で使われていますので参考にして下さい。[追記]副作用
A:hoverを設定すると、IE3.0の場合バグのため、 リンクの色がそのhoverで設定したものになってしまいます。つまり、 上記のようにA:hover { color:red; }とした場合、そのページのリンクの色は赤色になってしまいます。 これを防ぐには、スタイルシート内で、A:linkを追記すればOKです。(A:visitedなども)
もう一つ、ページ内でのローカルリンクというのがありますが、あれの<A NAME="name"> というとこに閉じタグ(</A>)を入れないと、後の文章が赤色になっちゃったりします。(IE3.0)
Dynamic HTMLでは、Style Sheetのpositionが非常に重要です。アニメーションする時などは特にです。 IE4.0では必ず必要な知識ですし、NN4.0では<LAYER>タグを使わない時などにも必要な知識です。
positionには、absolute,relative,staticがあります。ここで重要なのは、absoluteとrelativeなので、この2つの違いについて。
- absolute:絶対的なポジションです。この属性が付いたタグはページの構築デザインに関係なく、自由なポジションを保持します。<LAYER>と同じ様なものです。
- relative:相対的なポジションです。この属性が付いたタグはページの構築デザインと相関関係を持ちます。<ILAYER>と同じ様なものです。
- static:静的なポジションです。この属性が付いたタグは、座標を移動させることが出来ません。普通のタグはこれです。
absoluteの時、top,leftを指定してないと、その属性が付いたタグは、 後に書いた、HTMLとページのデザインと一部重なってしまいます。 よって、absoluteの時は座標(top,left)をしっかり指定する必要があります。
一方relativeの場合は普通のHTMLタグと同じように、ページのデザインにマッチして表示されます。 つまりabsoluteと違い座標を気にする必要はありません。 ただし、relativeな状態でtop,leftを指定すると、ページのデザインにマッチした場所からの座標となります。 つまりabsoluteの場合は、top,leftイコール(=)ページ左上からの座標でしたが、 relativeの場合は、ページ左上からではなく、タグが表示された位置からの座標となります。
よって、より自由なポジショニングを行いたいときはabsoluteにして、 簡単なアニメーションなどを行うときは、relativeがお勧めです。
IE4.0のスタイルシートには、cursorという属性があります。 これは、マウスのカーソルの設定をします。<A href="http://www.yahoo.com" STYLE="cursor:help"> Yahoo </A>上記の例だと、リンクに触れたとき、マウスカーソルが「?」なカーソルに変化します。 他にも、「cursor: auto | crosshair | default | hand | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | text | wait | help」、 などがあるので試してみて下さい。
MOPAさんから教えていただいたものです。
これは、<META>タグで特定の記述をすることにより、 ページロード時、ページアンロード時などに、ページ全体にFilter効果を付けられるようになります。<meta http-equiv="Page-Enter" content="revealTrans(Duration=2.0,Transition=11)">こう記述することにより、ページロード時にTransition filtersの効果がかかって表示されます。 http-equiv=のところには、以下のパターンがあります。
Page-Enter:同サイト内から来たときのonLoad時
Page-Exit:同サイト内の他ペ−ジへ行くときのonUnLoad時
Site-Enter:別のサイトから来たときののonLoad時
Site-Exit:別のサイトへ飛ぶときのonUnLoad時
そして、content=のところにFilterを記述すればいいわけです。
なお、ここで使用できるFileterは、Transition filtersとBlendです。
完全なフルスクリーン表示を実現する方法です。 IE3.0ではある方法で実現出来たのですが、セキュリティーバグのため 使えなくなってしまいました(^^;
IE4.0では従来と別のやり方でフルスクリーンでの表示が可能になりました。 やり方は、windows.openメソッドの引数で、fullscreen=1と指定して 渡せばフルスクリーン表示で新しいWindowが開く事になります。 但し、注意が必要なのは一度Fullscreeでウインドウを開いた場合、 JavaScript側でウインドウを閉じてやらないと、 ブラウザを終了しない限りフルスクリーン表示のままになり、 ブラウザを強制的に終了させないと(ALT+F4)、手も足も出ない状態になります(^^;。
example: window.open(location,_name,"fullscreen=1");
-- Speciai Thanks Mr.Yokota