結論: JavaScriptは必要です。もっともっと選択肢を増やしましょう。
- フロントエンドのプログラムを見直す話 - Intersection/Resize Observer API - matchMedia API - addEventListener Passive Option