height:autoにアニメーションできる時代へ|calc-size()とinterpolate-size完全解説
スポンサーリンク

こんにちは!静岡県浜松市でWEBデザイナーをしています小瀧です。

「アコーディオンの開閉、なんか不自然じゃない?」

こんな違和感、感じたことありませんか?

一瞬でパッと開く
カクカク動く
高さが固定されていて気持ち悪い

その原因はこれです。

height: auto はアニメーションできない

これが、長年Web制作の中で
ずっと立ちはだかっていた壁でした。

だから昔はどうしていたか。

  • max-heightでごまかす
  • JavaScriptで無理やり制御
  • transformで擬似的に動かす

正直、どれも「無理やり」です。

でも2026年。

この問題、ついにCSSだけで解決できます。

それが今回の主役、

  • calc-size()
  • interpolate-size

この2つです。

この記事では、
小学生でも理解できるように、
「なぜ動かなかったのか」から
「どうやって動くようになったのか」
まで
具体例たっぷりで解説します。

読み終わる頃には、
“自然に開くUI”を自分で作れるようになります。


結論:autoを“計算できる値”に変えれば動く

超重要ポイント
autoは数値じゃない → アニメーションできない calc-size()で数値化 → アニメーション可能になる

これがすべてです。

「autoをそのまま使うな」が答えです。


なぜheight:autoは動かなかったのか?

理由はシンプル

CSSアニメーションは、
「数字」と「数字」の間を計算して動きます。

例えばこうです。

0px → 100px → OK
100px → 300px → OK

でも、

0px → auto → NG

なぜか?

autoは“結果”であって“数値”ではないからです。

イメージで理解する

数値の場合
0 → 50 → 100 と途中を作れる

autoの場合
0 → ??? → 完成

途中が作れないから、アニメーションできないというわけです。


スポンサーリンク

calc-size()とは?autoを数値に変える魔法

一言でいうと

「autoを計算可能なサイズに変換する関数」です。

基本コード

.element { 
 height: calc-size(auto); 
 transition: height 0.3s; 
} 

これだけで、

height:autoがアニメーション可能になります。

アコーディオン例

.content { 
 height: 0; 
 overflow: hidden; 
 transition: height 0.4s ease; 
} 
 .content.open { 
height: calc-size(auto); 
} 

これで、

  • スーッと開く
  • 自然に閉じる

気持ちいい動きが実現します。

JavaScript不要の時代です。


interpolate-sizeとは?アニメーションの精度を上げる

これも一言で

「サイズの変化をどう補間するかを指定するプロパティ」です。

コード

.element { 
 interpolate-size: allow-keywords; 
} 

何が変わるのか?

これを使うと、

  • autoなどの値も補間対象になる
  • より自然な動きになる
  • ブラウザがうまく計算してくれる

“いい感じに動かす”をCSSに任せられるようになります。


実務での最強パターン

これをコピペでOK

.accordion-content { 
 height: 0; 
 overflow: hidden; 
 transition: height 0.4s ease; 
 interpolate-size: allow-keywords; 
} 
.accordion-content.is-open { 
 height: calc-size(auto); 
} 

これが2026年の正解テンプレです。

使えるシーン

  • アコーディオン
  • FAQ開閉
  • メニュー展開
  • 詳細表示の切り替え

よくある落とし穴

  • overflow:hiddenを忘れる
  • transitionを指定していない
  • 対応ブラウザを確認していない
重要
新機能なのでフォールバック設計も考える

まとめ

  • autoはアニメーションできない
  • calc-size()で解決
  • interpolate-sizeでさらに自然に

“気持ちいいUI”は、細かい動きで決まります。

これからのWebデザインは、
見た目だけでなく「動きの質」が重要になります。

今回のテクニックは、
すぐに実務で使えるレベルです。

ぜひ次の案件で試してみてください。

 

satokotadesignキャンペーン実施中!

浜松市の飲食店限定|ホームページ無料作成サービス
ぶっちゃけ無料相談会!ホームページ制作の悩み話してみませんか?
satokotadesign4周年記念キャンペーン

静岡県浜松市でホームページ制作ならsatokotadesign
静岡県浜松市でホームページ制作ならsatokotadesign

スポンサーリンク
おすすめの記事