【初心者あるある】position:absoluteに頼りすぎて大惨事になった話

学びの記録

はじめに

コーディングを始めたばかりの頃、

私はmarginやpaddingで動かなかった時は、
とりあえずabsoluteでゴリ押ししていました。

  • デザイン通りに置けない → absolute
  • 余白が合わない → absolute
  • スマホで崩れる → さらに absolute

そんな absolute万能時代の私がどう地獄を見て、
どう抜け出せたのかをまとめます。

同じ悩みを抱えている人の助けになれば嬉しいです。

なぜabsoluteに頼ってしまったのか

当時の私は
「デザイン通りに置ければ勝ち」
という考えで、余白より移動を優先していました。

● あるLPで遭遇した地獄

複数の画像・ボタンをabsoluteで固定して、
何px単位で微調整してパーフェクトピクセルを作っていたのですが…

スマホ版を開いた瞬間、

  • 画像がワープ
  • ボタンが画面外
  • 文字がかぶる
  • 要素が消える

もうどこから直せばいいのか分からない。

PCを直すとスマホが壊れ、
スマホを直すとPCが壊れる。

永遠の無限ループ。
ほんとに心折れました。

absoluteの呪いから抜け出せたきっかけ

● 「レイアウト=流れ」だと知った日

ある記事に
「レイアウト=要素の流れをつくること」
と書かれていたのを読んで、雷に打たれました。

私はずっと
「レイアウト=位置を調整すること」
だと思っていました。

でも本当は、

  • 要素の並び
  • 親子関係
  • 余白の取り方

これがレイアウトの本質だったんです。

「今までやってたの全部その場しのぎじゃん…」
と気づいた瞬間でした。

● margin/paddingが腹落ちした日

昔の私はmarginとpaddingを曖昧に使っていましたが、
要素の流れを意識し始めてから意味が分かりました。

  • margin:外側の距離
  • padding:内側の余白

この理解だけで、
absoluteで無理やり動かしていた場所が自然に整うようになり、
レイアウト崩れが大きく減りました。

● Flexを知らなかった頃の私は、本当に地獄だった

中央寄せひとつに1時間以上かかり、
topとleftを見ながら数値を動かす毎日。

「やっと真ん中に来た!」
→ スマホで全部崩壊して絶望

こんな作業を永遠に繰り返していました。

Flexboxと出会って世界が変わった

ある教材で見た3行のコード。

display: flex;
align-items: center;
justify-content: center;

書いた瞬間、
すべてが綺麗にど真ん中。

「え?これだけでいいの?
あの地獄いらなかったの…?」

本気で固まりました。

そこからFlexのすごさを知り、

  • 横並びが勝手に決まる
  • 縦中央も一瞬
  • gapで間隔調整
  • レスポンシブにも強い

margin地獄・absolute地獄が全部終わった感覚でした。

【まとめ】absoluteで苦しんでいたのは、正しい武器を知らなかっただけ

Flexを学んでから、absoluteの役割は
ズラすため” → 魅せるために変わりました。

Before(絶望)

  • とりあえずabsolute
  • 数値微調整の無限ループ
  • スマホで崩壊
  • 心が折れる

After(快適)

  • ベースはFlexで整列
  • absoluteはポイント使い
  • レスポンシブでも崩れない
  • 精神が安定(これ大事)

レイアウトは数字の戦いじゃなくて、
仕組みを知れば自然と整う世界です。

absoluteで苦しんでいる人がいたら、
まずは一歩、Flexを試してみてください。

コメント