ボックスの表示位置を指定するプロパティ
position
top
right
bottom
left
positionプロパティの働き
機能:ボックスの表示位置の基準を指定するプロパティ
初期値:static
承継:なし
適用要素:すべての要素
値 | 内容 |
---|---|
absolute | 絶対配置 ブラウザーの左上を基準 親要素の左上を基準(親要素をstatic以外にした場合) ※通常のボックスからはなかったものとして扱われる。 ※1枚上のレイヤーに浮いたような状態になる。 ※ボックスの大きさはコンテンツの大きさに合わせた幅と高さになる。 ※但し、親ボックスの4辺から距離を変更した場合にはボックスの大きさも変動する。 |
relative | 相対配置 通常配置されるべき位置を基準 positionが設定さる前に表示されていた位置の左上が基準 ※positionを設定する前に表示されていたスペースはそのまま残る。 |
fixed | 絶対配置 ブラウザーの左上を基準 ※通常のボックスからはなかったものとして扱われる。 ※1枚上のレイヤーに浮いたような状態になる。 ※ボックスの大きさはコンテンツの大きさに合わせた幅と高さになる。 |
static | ボックスの配置方法を指定していなく、規定の配置。 |
top right bottom left プロパティの働き
機能:positionで指定した基準から距離を指定するプロパティ
初期値:auto
承継:なし
適用要素:positionを指定した要素
値 | 内容 |
---|---|
auto | ブラウザーによって自動的に調整 |
数値+単位 | 基準の位置からモニターの解像度に応じて数値指定された位置 |
%値 | 基準となる親ボックスに対して%値を指定する。 |
position:absolute;
HTML
- <h2>position:absolute;なしの場合</h2>
- <div class=“oyabox”>
- <span class=“koboxA”>子要素ボックスA</span>
- <span class=“koboxB”>子要素ボックスB</span>
- </div>
- <h2>通常のボックスからはボックスAはなかったものとして扱われる<br>ボックスBは、真下に潜り込んでいる。</h2>
- <p>子要素ボックスAをマウスおバーすると下の子要素ボックスBが出てきます。</p>
- <div id=“oyabox1”>
- <span id=“koboxA”>子要素ボックスA</span>
- <span class=“koboxB”>子要素ボックスB</span>
- </div>
- <h2>親ボックスにposition:relative;なし<br>ブラウザー左上が基準</h2>
- <div class=“oyabox2”>
- <span class=“koboxA”>子要素ボックスA</span>
- <span class=“koboxB”>子要素ボックスB</span>
- </div>
- <h2>親ボックスにposition:relative;あり<br>ボックス左上が基準</h2>
- <div class=“oyabox3”>
- <span class=“koboxA”>子要素ボックスA</span>
- <span class=“koboxB”>子要素ボックスB</span>
- </div>
CSS
- #koboxA{
- background-color:orange;
- }
- .koboxA{
- background-color:orange;
- }
- .koboxB{
- background-color:orange;
- }
- /*position:absolute;なしの場合*/
- div.oyabox{
- background-color:navajowhite;
- width:300px;
- height:200px;
- margin:20px auto;
- }
- div.oyabox span.koboxA{
- bottom: 10px;
- }
- div.oyabox span.koboxB{
- background-color:palegreen;
- }
- /*ボックスAはなかったものとして扱われる<br>ボックスBは、真下に潜り込んでいる*/
- div#oyabox1{
- background-color:navajowhite;
- width:300px;
- height:200px;
- margin:20px auto;
- }
- div#oyabox1 span#koboxA{
- position: absolute;
- }
- div#oyabox1 span.koboxB{
- background-color:palegreen;
- }
- /*親ボックスにposition:relative;なし*/
- div.oyabox2{
- background-color:navajowhite;
- width:300px;
- height:200px;
- margin:20px auto;
- }
- div.oyabox2 span.koboxA{
- position: absolute;
- left: 10px;
- }
- div.oyabox2 span.koboxB{
- background-color:palegreen;
- }
- /*親ボックスにposition:relative;あり*/
- div.oyabox3{
- position: relative;
- background-color:navajowhite;
- width:300px;
- height:200px;
- margin:20px auto;
- }
- div.oyabox3 span.koboxA{
- position: absolute;
- top: 20px;
- left: 10px;
- }
- div.oyabox3 span.koboxB{
- background-color:palegreen;
- }
JavaScript
- const koboxA = document.getElementById(‘koboxA’);
- //ON
- koboxA.addEventListener(‘mouseenter’, () => {
- koboxA.style.opacity = 0;
- }, false);
- //OUT
- oyabox1.addEventListener(‘mouseleave’, () => {
- koboxA.style.opacity = 1;
- }, false);
See the Pen
position:absolute; by roymoy (@roymoy)
on CodePen.
absoluteの中央寄せ
See the Pen
中央寄せabsolute by roymoy (@roymoy)
on CodePen.
position:relative;
HTML
- <h2>position:relativeなしの場合</h2>
- <div class=“oyabox”>
- <div class=“box1”>box1</div>
- <div class=“box2”>box2</div>
- <div class=“box3”>box3</div>
- </div>
- <h2>position:relativeありの場合</h2>
- <p>positionが設定さる前に表示されていた位置の左上が基準
- </p><p>positionを設定する前に表示されていたスペースはそのまま残る。</p>
- <div class=“oyabox2”>
- <div class=“box1”>box1</div>
- <div class=“box2”>box2</div>
- <div class=“box3”>box3</div>
- </div>
CSS
- .oyabox{
- width:300px;
- height:200px;
- background-color:seashell;
- margin:10px;
- }
- .oyabox .box1{
- width:150px;
- height:50px;
- background-color:orange;
- }
- .oyabox .box2{
- width:150px;
- height:50px;
- background-color:olive;
- }
- .oyabox .box3{
- width:150px;
- height:50px;
- background-color:brown;
- }
- .oyabox2{
- width:300px;
- height:200px;
- background-color:ivory;
- margin:10px;
- }
- .oyabox2 .box1{
- width:150px;
- height:50px;
- background-color:orange;
- }
- .oyabox2 .box2{
- width:150px;
- height:50px;
- background-color:olive;
- position:relative;
- top:10px;
- left:50px;
- }
- .oyabox2 .box3{
- width:150px;
- height:50px;
- background-color:brown;
- }
See the Pen
position:relative; by roymoy (@roymoy)
on CodePen.
position:fixed;
HTML
- <header>ヘッダーテキストヘッダーテキストヘッダーテキストヘッダーテキスト</header>
- <div>コンテンツテキストコンテンツテキストコンテンツテキストコンテンツテキスト</div>
CSS
- header{
- position:fixed;
- top:0;
- left:0;
- background-color:olive;
- width:100%;
- text-align:center;
- }
- div{
- background-color:orange;
- margin:24px auto;
- width:400px;
- }
See the Pen
position:fixed; by roymoy (@roymoy)
on CodePen.