MENUCLOSE
twitter ツイッターfeedlyRSS

オンスタでは、オンラインで学習するために役立つコンテンツを掲載しています。そのほか、UdemyをはじめとしたEラーニングサービスの紹介も行っています。

オンスタ | オンラインで学習するための近道になるサイト
【CSS】CSSレイアウト組まとめ(中編)

【CSS】CSSレイアウト組まとめ(中編)

公開日:2017年10月06日
最終更新日:2017年10月06日
オンスタ運営
テクノロジー
マークアップ
ホーム > 全記事一覧 > 制作 > ディレクター > 【CSS】CSSレイアウト組まとめ(中編)

Warning: Undefined variable $_cat_enginieer_flag in /home/growgroup/online-study.jp/public_html/wp-content/themes/online-study-wp/views/object/components/related-posts-inline.php on line 37
このエントリーをはてなブックマークに追加
【CSS】CSSレイアウト組まとめ(中編)
【PR】Udemyならスマホでもタブレットでも、いつでも気軽に学べます。

こんにちは!ゴリラから人間に転生した
ゴリラ出身のフロンドエンドエンジニア、ケイジャニストやまだです!
さて今回のネタは前回からの続きってことで、CSSのレイアウト組(中編)です!
前回はもっとも基本的なdisplay:inline-blockを使ったレイアウト組と、
floatを使用したレイアウト組に関する指定方法と、崩れた時の見直しポイントをご紹介しました!

※前回見逃しちゃったって人はこちらご参照ください!
【CSS】CSSレイアウト組まとめ(前編)
https://grow-group.jp/archives/1654/

今回はこれまたcssでレイアウトを組んでいくときによくお世話になる
プロパティ、positionについてご紹介いたします!positionは要素の重ね合わせを表現するz-indexプロパティや、その他横並び以外の自由なレイアウトを可能にすることから、巷でよく見かける「スクロールに追走してくるヘッダー」や「ギャラリー」などjQuery等と絡めていろんな表現を可能にする重要プロパティ。今回は簡単な使い方と使いどころを念頭にまとめてみました!

ぜひお役立てください!

positionの使いどころ

通常cssでレイアウトを組んでいくときは「横並び」が基本。
positionを使えば、そんな基本の横並びでは表現が難しい「ボックス同士を重ねる」などのレイアウト組が可能です。

その他としては、追走してくるヘッダーや、ボックスに対して右下に固定表示させるなどの固定配置が可能で、こういった配置はfixedやabsoluteの指定で実現できます。

以上のことから、「凝ったギミックを表現する」時や「どこかに固定表示させたい」といった時が使いどころといえるでしょう!

positionのプロパティ「4つ」についてサクっと

通常ボックスモデルの幅などの数値は該当のボックスに対して「左上」を基準にして計算されますが、positionを使うとその「左上」という基準を変更することが可能になり、自由に配置することができます!

positionプロパティの値は以下4つです。

static 基準を変更しない
relative 相対指定
absolute 絶対指定(親のボックス要素の左上を基準に配置します。)
fixed ウィンドウを基準にした絶対指定

このうちレイアウト組で使用するのはrelativeとabsoluteの組み合わせ。
あとはfixedをよく使いますが、順にご紹介いたします!

position:relativeとposition:absoluteの組み合わせ

position:relativeとposition:absoluteについてですが、
基本的に親ボックスにposition:relativeを指定し、その指定された親ボックスを基準に
absoluteで対象の子ボックスの位置を指定する、といったことを行いますので、基本セットで使います(セットで覚えちゃった方が楽です。。。)

まずは単純に親ボックスへposition:relative、子ボックスにposition:abosluteを指定するだけのものを作ってみましょう。

何も起きませんね(笑)
次に位置を指定してみましょう。

 

位置の指定(top、right、left、bottom)

position:relativeを指定した親ボックスの左上を基準に
top、right、left、bottomプロパティを使って位置を指定します。

 

位置が変わりました。

 

z-indexとの併用

positionを指定したボックスにはz-indexが使えます。
z-indexを使うと、指定したボックスの重なり順序を指定することができます。

先ほどのサンプルにボックスを二つ追加して、重なり順序を指定し、
重ね合わせてみましょう。

(例)position:absoluteを指定したボックスを重ねたサンプル

z-indexは重なり順を指定するプロパティです。思わぬ崩れを引き起こすことがあるので、こちらもpositionを使う時には指定するようにしておくといろいろ良いかもしれません。

 

利用時の注意点

大変便利で
「これならなんでも表現できるやんけ!」
思いがちですが、注意点があります。
position:abosoluteを指定した要素を内包する、position:relative指定された親ボックスは
「高さ」を失います。

なので続く要素がそのまま予期せぬ崩れを起こしたりすることがあります。
position: relativeとposition: absoluteをセットで使う場合は、
必ず親要素に高さを指定するか、その分marginやpaddingで調整するなど、
「高さを保持すること」を片隅に覚えておくと良いと思います。

position:fixedでウィンドウ基準に絶対配置

さて、position:fixedですが、こちらは基準が「ウィンドウ」になります。
サンプルは以下です。

今度はスクロールしてみましょう。
まるで「追走してくる」ように見えませんか?

これはブラウザのウィンドウを基準にして配置されていおり、中のコンテンツは普通にスクロールしているのでそんな風に見えるんですね。
背景に画像や動画を固定する表現を見かけますが、それも基本的にはこのfixedプロパティを使います。パララックス効果がでてなかなか面白い表現ですよね。

さて、このposition:fixedですが、特有のバグが潜んでいます。

 

fixed指定の注意点

・bodyにtransformを指定していると、基準がウィンドウではなく親ボックスになってしまう。
予想できないまさかのハマりパターンです。コーディング時には注意したいですね。bodyでtransform使うときは気をつけましょう。

・iphoneでスクロール途中から固定できない。
よくヘッダーをスクロール途中から固定するといった表現が使われますが、これがうまくいかない時があります。こういうときは対象要素にtransform: translate3d(0 ,0 ,0)を指定して解決できることがあります。端末の処理の関係でスクロール中になにかするのができないといった内容が原因のようです。translate3dでGPUを使えばできるようですのでハマった時にはお試しください!

まとめ

いかがでしたか?
positionを使うと様々な表現が可能になるのでぜひ積極的に使ってみてください!

次回は後編です!display:tableやdisplay:flex、そしてマルチカラムレイアウトなど比較的新しいプロパティたちを使った内容にして行こうと思います!


【PR】Udemyならスマホでもタブレットでも、いつでも気軽に学べます。

Udemyを実際に体験した方の感想記事もぜひご覧ください♪

関連コンテンツ


Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
IT系勉強会に参加して輪を広げよう!
Webデザイン
テクノロジー
プログラミング
マーケティング
公開日: 2017年11月08日
最終更新日: 2017年11月08日
IT系勉強会に参加して輪を広げよう!
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
【Mac】SSH接続でXserverに接続してみよう(SSHクライアントソフト FileZilla設定も解説)
テクノロジー
公開日: 2017年02月01日
最終更新日: 2022年01月17日
【Mac】SSH接続でXserverに接続してみよう(SSHクライアントソフト FileZilla設定も解説)
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
一歩踏み込んだマークダウン(Markdown)の紹介とマークダウン記法を学ぶ
マークアップ
公開日: 2019年10月08日
最終更新日: 2022年01月17日
一歩踏み込んだマークダウン(Markdown)の紹介とマークダウン記法を学ぶ
  • # markdown
  • # マークダウン
  • # 効率化
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
[JavaScript_中級者への道] JavaScript開発環境について – npm について
マークアップ
公開日: 2020年03月19日
最終更新日: 2022年01月17日
[JavaScript_中級者への道] JavaScript開発環境について – npm について
  • # Bower
  • # Grunt
  • # node.js
  • # npm
  • # タスクランナー
  • # 歴史
  • # 開発環境
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
Sketchを使ったイラストレーター(illustrator)から爆速でコーディングする方法
マークアップ
公開日: 2017年07月29日
最終更新日: 2017年07月29日
Sketchを使ったイラストレーター(illustrator)から爆速でコーディングする方法
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
游ゴシックのテキストをIEで表示すると謎の余白ができる【問題検証と対策】
デザイン
マークアップ
公開日: 2018年03月30日
最終更新日: 2022年01月17日
游ゴシックのテキストをIEで表示すると謎の余白ができる【問題検証と対策】
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
制作者への影響を探る!Gutenberg (グーテンベルグ) – WordPress 5.0 搭載予定の新エディタ
テクノロジー
プログラミング
公開日: 2017年11月29日
最終更新日: 2017年11月29日
制作者への影響を探る!Gutenberg (グーテンベルグ) – WordPress 5.0 搭載予定の新エディタ
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
プロから評判が高い!エックスサーバーの特徴や利用者の生の声
システム
テクノロジー
公開日: 2020年04月16日
最終更新日: 2020年04月16日
プロから評判が高い!エックスサーバーの特徴や利用者の生の声
  • # エックスサーバー
  • # 評判
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
コピペ実装!CSSだけでフォームのUI改善**サンプルコード7選
テクノロジー
デザイン
マークアップ
公開日: 2021年04月22日
最終更新日: 2021年04月22日
コピペ実装!CSSだけでフォームのUI改善**サンプルコード7選
オンスタ運営

Warning: Trying to access array offset on value of type bool in /home/growgroup/online-study.jp/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123
初心者でも簡単に作れる!ホームページを簡単に作る方法をご紹介
システム
テクノロジー
公開日: 2019年07月25日
最終更新日: 2019年07月25日
初心者でも簡単に作れる!ホームページを簡単に作る方法をご紹介
  • # ホームページ
  • # 方法
  • # 簡単
オンスタ運営
全記事一覧

web制作者にオススメのオンライン学習サイト「Udemy」

世界最大級のコースがラインナップ!電子書籍サイト「Udemy」

世界最大級のコースがラインナップ!オンライン学習サイト「Udemy」

「Udemy」ではいつでもどんなトピックでも、専門家が教える何千ものコースを用意されており、無料で学べるコースも多数あります。もうちょっと勉強したいな。スキルアップしたいな。と思ったら是非チェックしてみてください。