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
【第2弾】コピペ実装!CSSだけで作れるお洒落で使いやすいボタン◉サンプルコード7選
テクノロジー
マークアップ
Webデザイン
公開日: 2020年08月07日
最終更新日: 2020年08月07日
【第2弾】コピペ実装!CSSだけで作れるお洒落で使いやすいボタン◉サンプルコード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
Webサイト制作におけるツールと技術選定について考える
テクノロジー
公開日: 2017年01月24日
最終更新日: 2017年01月24日
Webサイト制作におけるツールと技術選定について考える
オンスタ運営

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
ホームページを「おしゃれ」に!エフェクトを導入する方法<ホームページ制作初心者向け>
テクノロジー
ホームぺージ更新
設計
マークアップ
Webデザイン
公開日: 2018年02月16日
最終更新日: 2018年02月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
Webサイトのちょっとしたテスト用ツールを作った
テクノロジー
プログラミング
公開日: 2017年02月21日
最終更新日: 2017年02月21日
Webサイトのちょっとしたテスト用ツールを作った
オンスタ運営

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】CSSレイアウト組まとめ(前編)
マークアップ
公開日: 2018年09月08日
最終更新日: 2022年01月17日
【CSS】CSSレイアウト組まとめ(前編)
オンスタ運営

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
独断と偏見で選ぶ Chrome DevToolsの便利な機能 8選!
テクノロジー
公開日: 2018年04月07日
最終更新日: 2018年04月07日
独断と偏見で選ぶ Chrome DevToolsの便利な機能 8選!
オンスタ運営

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
JS初心者必見!JavaScriptの勉強ができるWEBサービス紹介【タイプ別】
プログラミング
マークアップ
公開日: 2018年12月28日
最終更新日: 2022年01月17日
JS初心者必見!JavaScriptの勉強ができるWEBサービス紹介【タイプ別】
オンスタ運営

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
WEB用に使われる画像形式の基礎と特徴
マークアップ
Webデザイン
公開日: 2018年05月19日
最終更新日: 2018年05月19日
WEB用に使われる画像形式の基礎と特徴
オンスタ運営

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
【第1回】ノンプログラマー/プログラム初心者も楽しめる!ゴリラにも伝わるprocessing入門
テクノロジー
プログラミング
公開日: 2016年12月06日
最終更新日: 2019年05月28日
【第1回】ノンプログラマー/プログラム初心者も楽しめる!ゴリラにも伝わるprocessing入門
オンスタ運営

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
WordPressのログイン方法やログインできない時のTips、ログインに関するセキュリティ対策のご紹介
テクノロジー
WordPress
公開日: 2021年12月08日
最終更新日: 2021年12月08日
WordPressのログイン方法やログインできない時のTips、ログインに関するセキュリティ対策のご紹介
オンスタ運営
全記事一覧

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

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

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

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