回答編集履歴

1

JavaScriptでやる方法追記

2017/11/15 01:44

投稿

masaya_ohashi
masaya_ohashi

スコア9206

test CHANGED
@@ -1 +1,7 @@
1
1
  超泥臭い方法で、確実な改行位置を取れる保障がない(ブラウザと全く同じ挙動をするかは保証されない)ですが、[FontMetrics](https://docs.oracle.com/javase/jp/8/docs/api/java/awt/FontMetrics.html)を使えば「このフォントで表示した場合、この文字列は何pxになるか」を取れる[stringWidth](https://docs.oracle.com/javase/jp/8/docs/api/java/awt/FontMetrics.html#stringWidth-java.lang.String-)があります。tdの中に最大何px文字が入るのかが事前にわかっていれば、1文字ずつ足して幅が越えたところが改行位置であることが予測できます。
2
+
3
+
4
+
5
+ JavaScriptでやるならテーブルの行を1個ずつ見ていきながら、以下のスクリプトを利用して行数をカウント、オーバーした行以降をcssで`display:none`にして表示化、という方法が取れるかと思います。
6
+
7
+ [https://gist.github.com/STAR-ZERO/1948013](https://gist.github.com/STAR-ZERO/1948013)