· 1分で読了
CSS の 1 行でスムーズなスクロールを行う方法
# フロントエンド この記事は中国語から自動翻訳されたものです。翻訳によりニュアンスが失われている場合があります。
楽しく Svelte で smooth-scroll を実装した後、実は一行の CSS で実現できることに気づきました:
html {
scroll-behavior: smooth;
}
ブラウザのサポートについては少し気にする必要がありますが、開発者がライブラリを導入したり、自分で実装したりする手間を完全に省くことができます。

smooth-scroll を完璧に達成できて、hashchange や state change の動作を書き換える必要もありません。今度は CSS を使わずに smooth-scroll を実現する方法について記事を書こうと思います。
関連記事
- フロントエンドで画像を使うときに注意すべきことJake Archibald の記事をもとに、現代的なレスポンシブ画像の書き方を整理する。なぜ width/height は今でも必要なのか、CSS の aspect-ratio はいつ使うのか、AVIF と WebP をどう選ぶのか、そして picture/source/srcset でモバイル向け画像を切り替える方法までまとめる。
- CSS field-sizing — 1行のCSSでフォーム要素を自動リサイズさせるtextarea の自動高さ調整は、以前は scrollHeight を監視する JavaScript が必要だった。CSS field-sizing: content なら1行で済む。textarea・input・select に対応。
- 超リンクの下線をもっときれいに見せる:text-underline-offsetデフォルトでは下線が文字にかなり近く、こういう見た目を好まないデザイナーもいる。僕自身も、あまりきれいだとは思っていない。
- なぜウェブは Pixel Perfect を追求すべきではないのかPixel Perfect が本当に重要なときだけそれを気にすべきであり、そうでなければ往々にして双方にとって損な結果になる。