進化したHTMLとCSSで実装できるさまざまなUIコンポーネントのまとめ、JavaScriptはなし、もしくは最小限 -NoLoJS

最近では、HTMLとCSSは非常に進化し、強力になってきました。これからの時代はJavaScriptは本来のJavaScriptでしかできないことに使い、HTMLとCSSで可能なものはCSSとHTMLで実装すべきです。

HTMLとCSSだけで実装できる、あるいはごくわずかなJavaScriptで実装できるUIコンポーネントのまとめを紹介します。

HTMLとCSSで実装できるさまざまなUIコンポーネントのまとめ -NoLoJS

NoLoJS
NoLoJS -GitHub

NoLoJSは、JavaScriptの負荷を軽減するために、No-JavaScript、あるいはLo-JavaScript(最小限)で実装できるUIコンポーネントをまとめたものです。

ライセンスはGNU General Public License v3.0で、商用プロジェクトでも無料で利用できます。

サイトのキャプチャ

NoLoJS

このまとめを作成したのは、下記の言葉に刺激されたからだそうです。

JavaScript自体に何の不満もないが、 JavaScriptにはアコーディオンやナビゲーションメニューの管理よりももっと重要な役割があるはずだ

最近のWebは過剰なJavaScriptによって重荷を負うようになっています。HTMLやCSSの機能が進化し続けている今こそ、JavaScriptが担っている処理を可能な限りそれらに移行すべきです。

NoLoJSに登録されているUIコンポーネントは、JavaScriptを一切使用しない、あるいは最小限に抑えた、HTMLとCSSで実装可能な「よくあるJavaScriptのパターン」をまとめたものです。HTMLとCSSの進化に合わせて、今後も増えていく予定とのことです。

サイトのキャプチャ

コンポーネント一覧 -NoLoJS

2026年7月現在、50種類ほどのUIコンポーネントが揃っています。
その中からいくつか見てましょう、まずはアコーディオン。アコーディオンには6つのバリエーションがあり、ベーシックなものから開閉アニメーションや限定オープン、最初は開いた状態のものなどがあります。

ベーシックなアコーディオンは、JavaScriptはなし、さらにはCSSもなし、HTMLだけで実装できます。

サイトのキャプチャ

Accordion - Basic

デモの下には、実装コードが解説されています。
ベーシックなアコーディオンは、HTMLのdetailssummaryの組み合わせで開閉できます。

サイトのキャプチャ

実装方法 -Accordion - Basic

ほんの少しのCSSを加えるだけで、アコーディオンをアニメーションで開閉することもできます。

サイトのキャプチャ

Accordion - Animate Open/Close

カルーセルは8種類、シンプルなものからスナップさせたり、グループごとにスワイプさせたり、ヒーロー用のがあります。

サイトのキャプチャ

CSS Carousel - Animated Hero

すべてのカルーセルが掲載されているデモページは、こちら。

See the Pen
CSSで実装するカルーセル
by coliss (@coliss)
on CodePen.

フォーム関連にもこれまではJavaScriptを使用しないと実装できなかったことが、HTMLとCSSで実装できます。たとえば、フォームのフィールドで入力した文字数に合わせてフィールドを拡張することができます。CSSは1行追加するだけです。

サイトのキャプチャ

Expanding Form Field

これも以前はJavaScriptのライブラリがたくさんありました。2枚の画像を比較するスライダーもJavaScriptなしで実装できます。

サイトのキャプチャ

Image Comparison Slider - Basic

画面外からナビゲーションを視覚的に開閉アニメーションで表示するオフスクリーンのナビゲーションもJavaScriptはなしです。

サイトのキャプチャ

Offscreen Nav - Animate Open/Close

スクロールすると、ヘッダをシャドウ付きで上部に固定させたり、パララックスなどもJavaScriptなしで実装できます。

サイトのキャプチャ

Scroll - Header Shadow

スクロールしてもぴたっとくっついて表示されるスティッキー、ページ内アンカーにスムーズにスクロールさせるなども以前はJavaScriptが必須でしたが、今ではJavaScriptなしで実装できます。

サイトのキャプチャ

Sticky Content

動画を背景にして、その上にコンテンツを表示させるのも一時期すごい流行りましたね。これも今ではJavaScriptなしで実装できます。

サイトのキャプチャ

Video Hero - Content over

sponsors

top of page

©2026 coliss