cssのpositionについて。
今までは私は雰囲気で使っていたので、改めて学ぼうと思った
(というか、ウェブサイト自体を雰囲気で作っているところがそもあるのだが・・・)
↓参考サイト

●positionプロパティは・・・
要素の配置方法を決定するために使う。
複数の値があり、それぞれ異なる配置方法になる
static 特に指定なくそのまま置いといていいやつ
staticテスト
その下の要素
paddingとかで上下とか左右とか伸び縮みさせるだけのやつ
rerative 存在はそこに残しつつ、雰囲気だけ移動するやつ
(存在は残っているので下の要素が上に移動しない)□・・・■<残像だ
relativeテスト
その下の要素
存在は残っているので詰めてこないやつ
absolute 存在そのものを移動するやつ
(以降の要素に影響があるやつ)👽
absoluteテスト
その下の要素
absoluteを指定すると、通常の文章フローから外れるので、
外れたものはないものとして扱うらしい・・・
というか、文章フローってなんやねん!という・・・チャッピーに聞いてみた
文書フロー(document flow)とは、HTML要素がWebページ内で通常の順序に従って配置される流れや配置ルールのことを指します。通常、要素は上から下へ、左から右に流れるように配置されます。具体的には、ブロック要素(例:div
、p
)は縦に積み重なるように表示され、インライン要素(例:span
、a
)は横に並んで表示されます。
今回、文字とかこみを<p>要素にしているので、
縦が詰まった・・・ということらしい。
ブロークングリッドとかこんな感じに作るのだろうか・・・
親要素(relative)
absoluteテスト1
その下の要素(absolute2)
fixed 常に同じ場所に存在するやつ
(他の要素をぶっちぎるやつ)
左下のこれ
fixedテスト
画面の左5%、下5%に固定している赤いのやつ。
ヘッダーフッターみたいなずっと表示したいメニューみたいなののイメージ・・・
sticky 特定の範囲で追従するやつ
(ニコニコの横にくっついてる広告とかこんなイメージ)
親要素
stickyテスト
親要素のpositionにはstaticとrelativeが使えた。
親要素内にstickyを設定した要素が一つだけだとうまくいかない・・・というサイトもあったけど、
結局なんもなくても大丈夫だった。なにが違うんだろうか・・・
親要素から距離をとるためにはmarginがいい様子。
↑はmargin-leftをつけている
(leftは横に幅広い時の設定?なのかもしれない)
横にスライドとかできるんだろうか・・・
親要素(overflow-xあり)
横スクロールのテスト(親より大きい要素)
横stickyテスト
dekita
上下もつけて上下左右にぐいんぐいんやりたかったけど、やり方が分からなかった・・・
(のちに、親にoverflow-xつけてるとダメだとわかったけど
なぜダメなのかはわからないのであった・・・
↓オーバーフロー内なら縦横設定できそうだけど、1つの要素に縦横追従はさすがにcssだけだと難しそう・・・)
横スクロールのテスト
横に追従するSticky
縦に追従するSticky
ここに長いコンテンツを追加して、縦にスクロール可能にします。
stickyの中にstickyとかできるんだろうか・・・
親要素(overflow-xあり)
縦1stickyテスト
縦2stickyテスト
ダブルでできた
なんかいろんなことに活用できないだろうかsticky・・・