10/24 Dreamweaver/positionでレイアウト

position

  • positionはボックスの表示位置を決める配置方法を指定する。

static(静的)スタティック

  • スタイルを何も指定しないときの配置方法。
  • 垂直方向に順に配置されて行く。

relative(相対的)リラティブ

  • ブラウザの左上を基点として、left, topの数値を指定して通常の位置(staticの位置)からずらす。
  • 必ずstaticの上に重なる。

absolute(絶対的)アブソリュート

  • 外側[containerやwrapper]をrelativeにし、その内側のもの[primaryやsecondary]をabsoluteにする。
  • relativeの親ボックスを基点として、left, top,right,bottomで指定する。

fixed

  • 絶対位置への配置となるのはabsoluteと同じだが、スクロールしても位置が固定されたままとなる。
  • レイヤーの順番を変える。

下記HTMLだとsecondaryがprimaryの上にくる。

<div id="primary">
<br/><br /><br /><br /><br/><br />
</div>
<div id="secondary">
<br/><br /><br /><br /><br/><br />
</div>

primaryを一番上にするにはCSSで、「z-index: 1000;」を指定する。
他のPX数値と区別するため100から始めて1000が一番上になる。




<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<title>無題ドキュメント</title>
<style type="text/css">
<!--
#container {
position: relative;
	 width: 780px;
	 height: auto;
	 margin:  0 auto;
	 background-color: #9E8C80;
	 overflow: auto;
}

#header {
	height: 80px;
	margin:  10px;
	background-color:#E2DF71;
}

#header_inner  {
	color: #9E8C80;
	font-size: 0.8em;
	position: absolute;
	right: 20px;
	top: 30px;	
}
#header_inner  li {
	display: inline;
	margin: 0 0 0  10px;
}

#wrapper {
	position: relative;
	height: 320px;
	margin:  10px;
	background-color: #D6DBD4;
}

#primary  {
	position: absolute;
	left: 10px;
	top: 10px;
	width: 530px;
	background-color: #E29761;
	z-index: 1000;
}

#secondary {
	position: absolute;
	left: 550px;
	top: 10px;
	width: 200px;
	background-color: #617FA8;
	z-index: 1;
}
-->
</style>
</head>
<body>
<div id="container">
<div id="header">
<div id="header_inner">
<ul>
<li><a href="#">このサイトについて</a></li>
<li><a href="#">お問い合わせ</a>
 </li
><li><a href="#">サイトマップ</a></li>
</ul>
</div>
</div>
<div id="wrapper">
<div id="primary">
<br/><br /><br /><br /><br/><br /><br /><br /><br/><br /><br /><br />
</div>
<div id="secondary">
<br/><br /><br /><br /><br/><br /><br /><br /><br/><br /><br /><br />
</div>
</div>
</div>
</body>
</html>