【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?
サイトを2カラム構成にした時、「左のコンテンツをある部分だけ追従させたい」って時ないですか?
自分はそんな時JavaScriptで要素の高さを取って、画面サイズから要素高さを引いて、条件分岐して・・・とJavaScriptをこねくり回すことで実現していました。
しかしposition: sticky;を使うとそれが簡単に実現できてしまうのです!
実際にstickyを加えた動き
stickyがない時
stickyがある時
各「stickyのセクション」というタイトルが追従しているのが分かると思います。
stickyは要素の高さを維持する
position: sticky;はposition: fixed;と同じような挙動をしますがposition: fixed;は要素の高さが無くなるのに対して、position: sticky;は要素の高さが維持されます。
よって固定ヘッダー等を設置する際はわざわざマージン等を計算してヘッダーを置かなくてもよくなるので非常に簡単にナビゲーションの設置も可能になります。
そんなposition: sticky;の設定方法はこちら
.sticky {
position: sticky;
top: 0;
}
「top」「left」「right」「bottom」を設定することによりstickyの位置を決めれますが最低でもtopを指定しないと上手く挙動しないので最低限topは設定するようにしましょう。
positionプロパティは一癖も二癖もあるプロパティですが慣れれば表現の幅がぐんと広がるので是非使いこなせるようにしましょう!