この投稿はWebflow社が提供する「Intro to HTML & CSS」の内容を元に作成しています。
引用元:https://university.webflow.com/lesson/intro-to-html-css
日本語版Webflow Universityでは、Webflowの基本的な使い方を解説しています。
CSSポジション設定を使用することで、親要素、兄弟要素を含めて、ビューポートとの相対的な位置関係をカスタマイズすることができます。
レッスン概要
ポジション設定は、ページ上での要素の位置を決定します。ポジション設定では、上下左右の各値を調整することで細かい位置取りを制御することができます。
すべての要素はデフォルトではスタティック・ポジショニングが設定されており、要素はレイアウトの中で自然な位置に配置されるようになっています。スタティック・ポジショニングが設定されている要素は、配置されたナビゲーションパネルの順番に従って表示されます。スタイルを追加しなければ、重なり合うことはなく、異なる要素がスタティック・ポジショニング設定の異なるデフォルト値を持つことはありません。その要素に適用されているポジション設定を削除するためには、要素をスタティックに設定します。
リレイティブに設定された要素は、通常の位置から相対的に配置されます。位置指定値(top, bottom, left, rightの値)を指定した場合、他にリレイティブ要素があってもその影響を受けずに、ポジショニングを決定します。これは、スタティックのままにしておいた場合と全く同じように、自分自身に対して相対的にポジションを決めるためです。リレイティブ要素にtop、right、bottom、leftの値を設定すると、初期位置からポジションを変更します。他のコンテンツは、その要素によって空いた隙間に収まるように調整されません。
リレイティブ・ポジショニングを持つ要素は、他の要素の位置取りに影響を与えたり、配置されたナビゲーションパネルの順番を崩すことなく、他の要素と重なり合うことができます。
要素にリレイティブ・ポジショニングを使用すると、他に次の2つのことが起こります。
ある要素を配置されたナビゲーションパネルの順番から逸脱させて配置するためには、アブソリュート・ポジショニングが最適です。アブソリュート・ポジショニングの要素は他の要素から影響を受けず、他の要素の位置にも影響を与えません。
デフォルトでは、アブソリュート要素の位置はbody要素を基準として位置取りしますが、アブソリュート要素の親要素がスタティック以外に設定されている場合は、親要素の内部に任意でアブソリュート要素を配置することができます。
位置取りを設定するには、位置指定値(top, left, bottom, rightの値) を使用します。これらの値は、スタティック以外が設定されている親要素を基準として相対的に位置取りします。
フィックス要素は、ビューポートまたはブラウザウィンドウに対して相対的に位置取りします。
ページをスクロールしても、フィックス要素はその位置に固定されたままです。この位置設定は、ナビゲーションバーを画面に固定する場合によく使われます。
スティッキー・ポジショニングの要素は、閲覧者のスクロール位置に応じて、相対的な位置と固定的な位置が交互に入れ替わります。
スティッキー要素は、定義されたスクロール位置に到達するまでは配置されたナビゲーションパネルの順番通りです。ですが、スクロール位置に到達した時点で、直接の親要素の中で位置が固定されます。スティッキー要素が親要素の最下部に到達すると、スクロールが停止します。
スティッキー・ポジショニングが機能するためには、top、bottom、left、right のいずれかに少なくとも1つ位置指定値を設定する必要があります。親要素の高さによっては、もしくはオーバーフローが「hidden」、「scroll」、「auto」に設定されている場合、スティッキー要素の位置が正しく設定されないことがあります。
ブラウザによっては、スティッキー・ポジショニングに対応していないものがあります。
(Ex.オペラ ミニなど)
リレイティブ・ポジショニング、アブソリュート・ポジショニング、フィックス・ポジショニング、スティッキー・ポジショニングは、スタイルパネルに以下の制御機能が用意されています。
アブソリュート・ポジショニングとをフィックス・ポジショニングが設定されている要素については、相対対象インジケータに示された要素を基準として位置を指定できるるプリセットが表示されます。
以下のプリセットのいずれかを選択することができます。
マニュアルでの位置指定、上下左右のプリセット値またはautoを設定することができます。各辺の値は、コントロールパネルをドラッグするか、クリックしてプリセット値を選択もしくはカスタム値を入力することで変更できます。
これらのいずれかにマイナス値を設定すると、上記とは反対方向に要素が移動し、親要素の境界線からはみだすこともできます。
相対対象インジケータは、選択した要素がどの要素を基準にしてポジショニングされているかを表示します。
リレイティブ・ポジショニングが設定された要素は、その要素自身に対して相対的に配置されることを覚えておいてください。
アブソリュート・ポジショニングが設定された要素は、親要素を基準として位置取りされます。デフォルトでは、これはbody要素のことが多いです。もし、ある要素を特定の親要素の中にアブソリュートで配置したい場合は、その祖先の要素のいずれかをスタティック・ポジショニング以外に変更してください。
フィックス・ポジショニングが設定された要素は、Bodyを基準に位置取りされ、ページがスクロールしてもその位置に留まります。
スティッキー・ポジショニングが設定された要素は、その直接の親要素を基準にして位置取りされます。場合によっては、Bodyを基準とすることもあります。
Z-indexは、奥行きを表す値です。デフォルトでは、z-indexはautoであり、ナビゲーションパネルで下部にある要素はその上にある要素に積み重なり、メインキャンバス上で右側にある要素は左側にある要素に積み重なります。スタティック要素は、アブソリュート・ポジショニング、フィックス・ポジショニング、スティッキー・ポジショニングが設定されている要素よりも常に下に配置されます。
位置指定値が設定された要素は、ナビゲーションパネルの順番の中で他の要素と重なることがあります。したがって、位置指定値が設定された要素のZ-index値を変更して、積み重ねの順序を変更することができます。z-indexが大きい要素はより小さい要素の上に積み重ねられます。Z-indexの値は0から2147483647までの任意の整数です。マイナス値も使用できますが、マイナス値を設定した要素がほとんどの要素の下に配置されるため、要素が見えなくなる可能性が有ります。
z-index が autoに設定されている場合、要素の積み重なる順序はその親の要素の積み重なる順序と同じになります。これらの要素は、親要素に対して相対的に積み重ねることができますが、他の要素に対しては親要素のz-index内に留まります。つまり、z-idexは要素の親子関係を覆すことはできません。
テキストを要素に回り込ませるには、要素を左または右に浮かせます。要素をフロートにするには、スタイルパネルの「float left」または「float right」を有効にします。
要素を左右にフロートさせることも、フロートさせないことも可能で、ナビゲーションパネルの自然な順番通りの位置を維持することができます
「None」はほとんどの要素のデフォルト設定であり、要素をナビゲーションパネルの自然な順番通りに配置します。例えば、ある要素がより大きなブレークポイントから継承されたフロートの設定を持っている場合、フロートをなしに設定することで、ページ上の自然な位置を復元することができます。
要素を左にフロートすると、親要素の中で左に位置するようになります。また、この設定は、右または下の要素がクリアの設定を適用していない限り、その要素の真横に並びます。
要素を右へフロートすると、親要素の中で右側に位置するようになります。フローティング要素の直下にある長い段落やリッチテキストは、クリア設定されていない限り、その要素の周囲に回り込みます。
要素にクリアを設定すると、フロートが設定された要素に回り込まないようにすることができます。この設定は、フロート要素の下に並べられた要素に適用することができますが、フロート要素自体には適用することができません。
クリアが設定された要素は、フロート要素に隣り合うように上へ移動することはなく、フロート要素の下に移動します。
「Clear none」は、ほとんどの要素のデフォルト設定です。「clear none」に設定された要素は、ドキュメントフロー内でその真上にあるフロート要素と隣り合ったり、その周囲に回り込んだりします。
ある要素に、より大きなブレークポイントなどから継承されたクリア設定がある場合、クリアを「None」に設定することで、任意のブレイクポイント下でクリア設定を解除することができます。
「Clear left」は、左側にフロートしている要素の周囲にクリア設定した要素が回り込むのを防ぎます。
「Clear right」は、右側にフロートしている要素の周囲にクリア設定した要素が回り込むのを防ぎます。
「Clear both」は、左右のフロート要素に関係なく、フロート要素の周囲への回り込みを防止します。
いかがでしょうか。
当社では、Webflowの関心を持ってくださった方々に向けて、無料Webflow説明会を実施しています。
以下よりお問い合わせフォームにアクセスし、お気軽にお申し込みください。
ご発注を検討されている企業様だけでなく、フリーランスや制作会社など同業者様でも構いません。
Webflowの広がりによって、発注側も制作側もより幸せになれる社会の創造に向けて、当社は邁進していきます。
今後とも宜しくお願い致します。
Webflowとはなにか?についてはこちらで解説しています。合わせてご覧ください。
Webflowについての基本的な使い方について解説した他の記事はこちらからご覧ください。
Webflowのメリットについて解説した記事も投稿しています。よろしければご覧ください。
会社名
Funwork株式会社
所在地
東京都千代田区東神田3-4-12
代表者
堀尾 尭史
電話番号
メール
03-5809-2979
backoffice@funwork2020.com
URL
設立日
2020年5月18日
資本金
9,000,000円
取引銀行
きらぼし銀行
Webサイト、ITサービス受託開発
マーケティングコンサル事業
シェアオフィス及びコワーキングスペースの運営