最近はCSSフレームワークはBootstrap3からBootstrap4をメインにして作業しております。かなり使いやすいです。ほぼこのフレームワークだけで完結できる仕様になってきました。
さてBootstrap4でtable-responsiveがうまく機能しないということに気がつき試したところ英字の場合だと機能しているなと気がつきました。日本語表示だと7、8列以上なら横スクロールが出てくるのですが5列ぐらいなら無理矢理縦表示になってしまうのでその対処方法をご紹介します。
使い方
基本的にはテーブルの外側にdiv要素にtable-responsiveクラスをつけるだけで機能するのですが日本語だとうまく機能してくれません。table-responsive-sm,table-responsive-md,table-responsive-lg,table-responsive-xlも同様です。
上記の状態をスマホで見てみると
このように表示されてうまくいっています。横にスクロールさせることで全部見ることができます。
今度はこれを日本語にします。
日本語にしてみると無理矢理縦表示にされテーブルが圧縮された状態になります。まあ、表示されているので良いのですがなんか縦すぎて読みにくい気がしますね。
そこでヘッダー要素に折り返さないtext-nowrapクラスをつけます。
思った通りになりました。
全体を折り返してほしくない場合はtable要素にtext-nowrapクラスをつければいいだけです。
参考になれば幸いです。
松田直樹,後藤賢司,こもりまさあき エムディエヌコーポレーション 2015-03-23
∞Tadashi Suyama∞