サイトにアクセスした最初の時点から、スクロールをするとサイズが小さくなるヘッダーってよくありますよね。最初は大きく見せたいけど、スクロールしてコンテンツを見始めたら小さくしたい、というものです。 使う機会の多い技術ですので、簡単な方法をまとめてみます。 HTML / CSS / JS で作っていきます。 仕様を決める 今回は、下記の仕様を想定して作っていきます。 ヘッダーの中にはロゴとナビゲーションの2つの要素がある。スクロール量が、ヘッダーの高さを超えると、小さくなる。スクロール量が、ヘッダーの高さを下回ると、元に戻る。 これを実現するために、ヘッダーの高さを基準に、スクロール量によって、それぞれの要素にclassを付けたり取ったりするスクリプトを書いていきます。 要素をJSで取得 JSで取得して操作したい要素は下記のものになります。 ヘッダー要素 <header id=”header”