サイトにアクセスした最初の時点から、スクロールをするとサイズが小さくなるヘッダーってよくありますよね。最初は大きく見せたいけど、スクロールしてコンテンツを見始めたら小さくしたい、というものです。 使う機会の多い技術ですので、簡単な方法をまとめてみます。 HTML / CSS / JS で作っていきます。 仕様を決める 今回は、下記の仕様を想定して作っていきます。 ヘッダーの中にはロゴとナビゲーションの2つの要素がある。スクロール量が、ヘッダーの高さを超えると、小さくなる。スクロール量が、ヘッダーの高さを下回ると、元に戻る。 これを実現するために、ヘッダーの高さを基準に、スクロール量によって、それぞれの要素にclassを付けたり取ったりするスクリプトを書いていきます。 要素をJSで取得 JSで取得して操作したい要素は下記のものになります。 ヘッダー要素 <header id=”header”
![スクロールすると小さくなるヘッダーの作り方|DESIGN REMARKS [デザインリマークス]](https://cdn-ak-scissors.b.st-hatena.com/image/square/4bd9883a323f0fc2616076c8f41647d17a30b4a9/height=288;version=1;width=512/https%3A%2F%2Fdesign-remarks.com%2Fwp-content%2Fuploads%2F2019%2F01%2Fscroll_header.jpg)