CSS、HTMLで内部のテキストが縦スクロールするモーダルダイアログを作りたいのですが、実現方法が分からず困っています。
良い方法がわかれば教えてもらえますでしょうか?
やりたいこと
- モーダルダイアログを画面の中心に表示する
- ダイアログは表示するテキストの量に合わせて、高さが大きくなる(テキストが少ない場合はダイアログも小さい)
- ただしダイアログの高さは画面サイズの90%以上大きくならない
- 画面サイズの90%に収まらないテキストは縦スクロールする
サンプル
CodePenでサンプルを作りました。
https://codepen.io/yamamotokeita/pen/JjEevrX?editors=1111
上手くいかない点
サンプルの「文字が少ない」パターンは問題なく表示できますが、「文字が多い」場合にテキストがダイアログボックスをはみ出してしまいます。
ダイアログテキストの要素に height: 80%
を指定しているのですが、おそらく親のheightが固定されていないため効いていないのだと思います。
ダイアログの高さを固定すればテキストがはみ出さないようにできるのですが、高さ不定の状態ではみ出さないようにする方法が分からず質問させて頂きました。
補足
JavaScriptを使えばどうにかできそうな気がしますが、ひとまずHTML、CSSのみでの解決方法を探しています。
回答2件
あなたの回答
tips
プレビュー