« ◆ダークマターはブラックホールに落ちるか? | トップページ | ◇str地獄、self地獄、型地獄、改行地獄 »

◇同じ位置にdivを置き表示を切り替える

 同じ位置に<div>を置き,表示を切り替える

冒頭の画像は一つの<div>の中に2つの<div>を配置し、表示を切り替えています。

<div style="position:relative;width:80%;margin-left:auto;margin-right:auto;">
  <div id="div_1" style="position:relative;top:0;left:0;z-index:1;width:100%">
     <img src="http://k-hiura.cocolog-nifty.com/image_08_11/podBay_B_open.jpg"
          style="width:100%">
  </div>
  <div id="div_2" style="position:absolute;top:0;left:0;z-index:2;width:100%;
                  display:block">
     <img src="http://k-hiura.cocolog-nifty.com/image_08_11/discovery_side.jpg"
          style="width:100%">
  </div>
</div>

 divのposition

外側の<div>は周りとの相対位置に配置するのでposition:relative;となっています。

内側の最初の<div>は外側のすぐ中に置き、領域を確保するためにposition:relative;となっています。
relativeとしない場合は領域は確保されません。

内側の2番目の要素は、外側の要素を基準としたtop:0,left:0位置指定で配置するためposition:absolute;となっています。

 z-indexによるレイヤー位置と画像切り替え

内側の2つの<div>はz-index値によりレイヤー化されています。大きな数値程上になります。

ここではボタンにより上の<div>を隠す/出す(display:none/display:block)ことにより画像を切り替えています。

<input type="button" value="画像1" style="WIDTH:10em"
   onClick="document.getElementById('div_2').style.display='block';">
 
<input type="button" value="画像2" style="WIDTH:10em"
   onClick="document.getElementById('div_2').style.display='none';">

 低能HTML5と<center>

外側の<div>のmargin-left/margin-rightは低能なHTML5の原始的なcenter表現です。

雑談:愚痴:
HTML5+(CANVAS)によってwebの表現力が著しく低下したのが残念でなりません。
昔のwebのようなインタラクティブでアーティスティックで豊かな世界が戻ること願ってやみません。

|

« ◆ダークマターはブラックホールに落ちるか? | トップページ | ◇str地獄、self地獄、型地獄、改行地獄 »