CSSのみのスティッキーフッターを作成する方法
通常、JavaScriptが必要です。 スクロール効果を実行する Webページ上のさまざまなユーザーアクションに関連しています。スクリプトはの仕事をします ページを上下にスクロールする距離を追跡する, そして アクションを引き起こす しきい値の高さに達したとき.
スクロール効果にJavaScriptを使用することは特に悪いことではありません。実際にはもっと複雑なケースがあります JavaScriptなしでは解決できない. しかしあります CSSハック それは時々これらのスクリプトを置き換えることができます.
この投稿はあなたにhoを見せるつもりですフッターを作成するためのwは、CSSを使用しているページスクロールの効果を明らかにします. これを実証するために2つのユースケースを使用します。1つはページ全体(デモを参照)用、もう1つは記事などの個々のページ要素用です。.
全ページ
そのフッターを作成する必要があります。 ページの下から表示されます ユーザーが下にスクロールしている間また、ページをスクロールアップするときにフッターを移動する必要があります。 隠される 再びページの下に.
この目標を達成するためには、まず最初に 固定位置のフッター 画面下部に.
1.固定フッターを作成する
しましょう コンテンツとフッターを追加する 最初のページへHTMLタグを使っています 私のデモでは、あまり不気味な効果のためにフッターの内側にバット画像が表示されていますが、他の好きな画像を選択することができます。. Lorem ipsum dolorはametを座っています… CSSへの移行, スペースを削除 の周辺 寸法を記入してください( 適用する 両方の色 をセットする このようにして、フッターを配置するのに十分なスペースが下部にあります。 見えるように ユーザーがページを下にスクロールしたとき. それでおしまい。フルWebページのフッター表示効果が行われます。下記のCodepenデモをチェックしてください。. このテクニックは、個々のHTML要素(フッター付き)に使用できます。 十分な長さ 適切なページスクロール効果のために。この方法は、現在ChromeとIEでは機能しないため、少々手間がかかりますが、かなりのフォールバックがあります。. まず、フッター付きの長い記事を作成しましょう。セマンティックコードを宣伝するために、私は選びました Lorem ipsum dolorはametを座っています… 下にあなたは見ることができます 基本スタイリング 記事とフッターの. 私の記事は現在こんな感じです。もちろん他の基本的なスタイルルールも使えます. 前のフッターは修正されました、これはするつもりです ねばねばする. 適用する の ユーザーが下または上にスクロールしている間にフッターが表示または非表示になるポイントを決定するので、好みに合わせて値を調整できます. を与える 記事の下余白と同じ値, フルフッターを表示するのに十分なスペースが下部にあるように. 今、私たちは必要 記事の下部にある開口部 スティッキーフッターが上下にスクロールするのを見ることができます。. これを実現するには、 の 最後にしましょう 記事の後ろにフッターを配置する を使用して そしてそれだけです、オンスクロール表示効果を持つ個々のページ要素が行われます。下のCodepenペンをチェックしてください。両方のユースケースはGithubページにもあります。. そして
意味論のために。しかしながら,
フッターが表示されるまでスクロールし続けます
によるタグ付け マージンを0に設定, そしてそれを十分に長くする カスタムの高さを追加する スクロールを引き起こす(あなたのページの本文コンテンツがスクロールを引き起こすのに十分な長さであるなら、あなたはそれに高さを与える必要はありません).
幅
そして 高さ
)フッターへ その位置を修正 と画面の下部に ポジション:固定。
そして 下:0;
プロパティ. body font-family:クリムゾンテキスト;フォントサイズ:13pt。マージン:0。フッター幅:100%;高さ:200ピクセル。ポジション:固定。下:0;背景色:#DD5632。
2.フッターを隠す
zインデックス:-1
するためにフッターを支配する 他のすべての要素の後ろに配置する ページ上. そして
タグを白にする フッターを覆う.
body、html 背景色:#fff;フッター幅:100%;高さ:200ピクセル。ポジション:固定。下:0;背景色:#DD5632。 zインデックス:-1。
3.下余白を調整する
マージンボトム
の タグ フッターの高さに等しい (私の例では200px).
ボディー身長:1000px;マージン:0。マージンボトム:200px。
個々のページ要素
1.長い記事を作成する
そして
.
第1条
記事幅:500ピクセル;背景色:#FEF9F3。パディング:20px 40px。記事>フッター高さ:100ピクセル;背景色:#FE0178。 body font-family:鵜ガラモン。
2.フッターを固定する
位置:ねばねば
フッターを支配するので、それは記事の境界の内側に移動しますが、それでもまだ その位置を維持する ユーザーが上下にスクロールしている間に画面に表示される. 記事>フッター高さ:100px;背景色:#FE0178。ポジション:-webkit-sticky。位置:粘着性があります。下:80px。
下:80px
ルールはフッターの位置を修正します 記事の下から80px. 記事幅:500ピクセル;背景色:#FEF9F3。パディング:20px 40px。マージンボトム:80px。
3.部分的に透明な背景を追加する
背景色
との記事の 線形グラデーション 背景画像
, 記事の上部からフッターの上部まで 背景色で着色 記事の下部にある残りの部分は 透明にした. 記事幅:500ピクセル;パディング:20px 40px。背景画像:線形勾配(下へ、#FEF9F3計算値(100%〜120px)、透明0)。マージンボトム:80px。
計算値(100%-120ピクセル)
CSS関数は 記事の全高からフッターを引いたもの. 私の例では、それは120pxです(高さは100px + パディング用20px).4.フッターを元に戻す
zインデックス:-1
CSSルール. 記事>フッター高さ:100px;背景色:#FE0178。ポジション:-webkit-sticky。位置:粘着性があります。下:80px。 zインデックス:-1。