ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > 【CSS】位置も重なりも指定できないposition: static; の使い方を解説

【CSS】位置も重なりも指定できないposition: static; の使い方を解説

HTML/CSS

2022/07/25

2023/12/19

position-static

この記事では、「位置も重なりも指定できないposition: static; の使い方」について解説します。

position: static; は、positionプロパティの初期値で設定されていて、記述することはほとんどありません。relativeやabsolute、fixedなどと違って使いどころがよく分からないと思われがちですが、staticならではの役割があるので、記事の後半で解説します。

なお、positionプロパティはstaticの他にも下記の4つがあります。

  • fixed
  • relative
  • absolute
  • sticky
この記事で身につく内容
  • position: static; の使い方

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

位置も重なりも指定できないposition: static; の使い方

positionプロパティは、要素の配置を指定するプロパティです。positionプロパティの初期値はstaticで、通常の位置に配置されます。

基本書式は次のようになります。

基本書式

セレクタ {
  position: static;

}

position: static; は初期値なので、値を入力しなくても適用されます。staticにはpositionプロパティの他の値、relativeやabsoluteと違ういくつかの特徴があります。

position: static; の特徴1 - 位置を指定できない

通常、positionプロパティは「top」「right」「bottom」「left」の4つのプロパティと合わせて要素の配置を指定します。staticの場合は例外で、top,  left などのプロパティを適用しても反映されません。

<div class="box relative"></div>

<div class="parent">
  <div class="box absolute"></div>
</div>

<div class="box fixed"></div>

<div class="box static"></div>
.box {
  width: 100px;
  height: 100px;

}


.relative {
  background: red;
  position: relative;
  top: 60px;
  left: 150px;

}

.parent {
  position: relative;
  background: lightblue;
  width: 200px;
  height: 200px;

}

.absolute {
  background: lightcyan;
  position: absolute;
  top: 80px;
  left: 80px;

}


.fixed {
  position: fixed;
  top: 40px;
  left: 400px;
  background: lightgray;

}


.static {
  position: static;
  background: orange;
  top: 200px;
  left: 500px;

}

出力結果

See the Pen positon:static;その他 by ZeroPlus (@zeroplus-programming) on CodePen.

position: static; はtop, left などで位置の指定をすることができません。positionプロパティを使って位置を指定する場合はstaticではなく、relativeやabsoluteを使用しましょう。

position: static; の特徴2 - 重なり順を指定できない

position: static; は、要素の重なり順を指定するz-indexは反映されません。

.box {
  width: 100px;
  height: 100px;

}

.relative {
  background: red;
  position: relative;
  top: 50px;
  left: 50px;
  z-index: 1;

}


.parent {
  position: relative;
  background: lightblue;
  width: 200px;
  height: 200px;
  z-index: 1;

}


.absolute {
  background: lightcyan;
  position: absolute;
  top: 150px;
  left: 40px;
  z-index: 1;

}


.fixed {
  position: fixed;
  top: 40px;
  left: 100px;
  background: lightgray;
  z-index: 1;

}

.static {
  position: static;
  background: orange;
  z-index: 1000;

}

出力結果

See the Pen position:static;とz-index by ZeroPlus (@zeroplus-programming) on CodePen.

z-indexは数字が大きいほど前に表示され、数字が小さいほど後ろに表示されます。上記コードの場合、position: static;z-index: 1000; のような大きい数字を適用しても、z-indexが効かないので前に表示されません。

position: static; の特徴3 - 要素の高さを保持する

position: static;relativeと同様に要素の高さを保持します。それに対してabsoluteやfixedは要素の高さを保持しなくなるので、その他の要素が詰まるようになります。

positionプロパティ適用前は次のようになります。

<div class="container">
  <div class="box-area">
    <div class="box static">static</div>
    <div class="min-box"></div>
  </div>
  <div class="box-area">
    <div class="box relative">relative</div>
    <div class="min-box"></div>
  </div>
  <div class="box-area">
    <div class="parent">
      <div class="box absolute">absolute</div>
      <div class="min-box"></div>
    </div>
  </div>
  <div class="box-area">
    <div class="box fixed">fixed</div>
    <div class="min-box"></div>
   </div>
</div>
.container {
  display: flex;

}

.box-area {
  margin-right: 10px;

}


.box {
  width: 100px;
  height: 100px;

}

.min-box {
  width: 100px;
  height: 100px;
  background: red;

}

.static {
  background: orange;

}


.relative {
  background: lightgreen;

}

.absolute {
  background: lightpink;

}

.fixed {
  background: lightblue;

}

出力結果

See the Pen static高さ確認-適用前 by ZeroPlus (@zeroplus-programming) on CodePen.

positionプロパティを適用した場合は次のようになります。

.static {
  background: orange;
  position: static; /*追記*/

}

.relative {
  background: lightgreen;
  position: relative; /*追記*/
  top: 150px; /*追記*/

}

.absolute {
  background: lightpink;
  position: absolute; /*追記*/
  top: 150px; /*追記*/

}

.fixed {
  background: lightblue;
  position: fixed; /*追記*/
  top: 150px; /*追記*/

}

出力結果

See the Pen static高さ確認-適用後 by ZeroPlus (@zeroplus-programming) on CodePen.

イメージとしては次の画像のようになります。

position: static; の使い道とは - positionプロパティの解除に使う

position: static; 特徴について解説しました。

  • 位置を指定できない
  • 重なり順を指定できない
  • 要素の高さを保持する

このような特徴を持つstatic はどのような場面で使うかというと、positionプロパティを解除する場面です。例えばレスポンシブで、PC時はposition: relative;position: absolute; を使い、SP時はposition: static; を使用してabsoluteを解除するなどのパターンが考えられます。

position: static; でpositionプロパティを解除する例

<div class="parent">
  <div class="box"></div>
</div>
.parent {
  position: relative;
  width: 400px;
  height: 400px;
  background: lightblue;

}

.box {
  position: absolute;
  top: 40px;
  left: 40px;
  width: 200px;
  height: 200px;
  background: orange;

}

@media screen and (max-width: 768px) {
  .box {
    position: static;
  }
}

出力結果

See the Pen staticレスポンシブ by ZeroPlus (@zeroplus-programming) on CodePen.

PC時にはboxクラスにposition: absolute; を適用し、タブレットサイズ以下ではposition: static; でabsoluteの指定を上書きして解除しています。検証ツールで確認すると、position: absolute; はstaticによって上書きされているものの、top, left などは上書きされていません。

しかしstatic自体がtop, left などの位置を指定できない値なので、結果的に位置が解除されて初期状態に戻った形となります。

staticはそもそもCSSで記述しなくても初期値で設定される値です。そのためstaticを記述することはほとんどありません。用途としては、position: static; 以外の値(relative, absolute, fixed, sticky)を解除するために使います。

まとめ

position: static;について解説しました。staticは初期値で設定されている値なので、記述することはほとんどありません。positionプロパティの解除に使われるので、状況に応じて使用しましょう。

positionプロパティは、今回解説したstaticの他にも「fixed」「relative」「absolute」「sticky」などがあります。このようにCSSは、プロパティ一つでも覚えることがたくさんあるので、少しずつ学習を進めていきましょう。

Web制作は、その他にも学ぶべき知識が数多くあります。

Web制作初学者がWeb制作を学習するにあたって、押さえておくべき知識・技術は「Web制作学習ロードマップ」の記事にまとめています。どこまで勉強すればいいか分からない、次はどんなスキルを勉強すればいいか分からない、という方はぜひ参考にしてみてください!

position: static; まとめ

  • top,left など位置を指定できない
  • z-index で重なりを指定できない
  • 要素の高さを保持する
  • fixed, relative, absolute, sticy などの解除に使われる
ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

\ 学んだことをSNSでシェアしよう /

おすすめのタグ

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから