teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

補足を追加

2018/08/12 06:17

投稿

IkazoIchikawa
IkazoIchikawa

スコア38

title CHANGED
File without changes
body CHANGED
@@ -32,4 +32,22 @@
32
32
  1. このように余分な高さが付加される原因は何でしょうか?
33
33
  2. 余分な高さを付加させないようにするには、どうしたらよいでしょうか?
34
34
 
35
- よろしくおねがいします
35
+ よろしくおねがいします
36
+
37
+ # 補足
38
+
39
+ `<textarea>`の定義についてMDNの情報を調べてみたところ、
40
+ 以下の内容を見つけました。
41
+
42
+ [ベースラインの不整合](https://developer.mozilla.org/ja/docs/Web/HTML/Element/textarea#Baseline_inconsistency)
43
+
44
+ どうやら、`<textarea>`内にテキストをどのようにレンダリングするのかは、
45
+ ブラウザにより異なる(`baseline`の扱いがブラウザにより異なるという事は、テキスト1行が占有する領域の算出もブラウザにより異なる)ようです。
46
+ 勝手な想像ですが、**「`ScrollHeight`の値もブラウザにより異なるのは、共通の仕様が無いから」**と思い始めました、、。
47
+ どなたか、この考えが正しいかどうかわかる方がいますかね、、?
48
+
49
+ とりあえずは、
50
+ 「一旦`<textArea>`をレンダリングした後、
51
+ `scrollheight`を取得して`<textarea>`の`height`より大きければ、`scrollHeight`の値で`height`を再調整する」
52
+ という機能を組み込めば、期待通りの動作をする事はわかりましたが、
53
+ もっとスマートな方法は無いものでしょうか、、、、

1

画像を修正

2018/08/12 06:17

投稿

IkazoIchikawa
IkazoIchikawa

スコア38

title CHANGED
File without changes
body CHANGED
@@ -19,7 +19,7 @@
19
19
  すると、以下画像のように、ブラウザによって付加する高さが、img要素とテキスト要素によって異なるようです。
20
20
 
21
21
  ## Chrome ver68の場合
22
- ![chrome](dbd8887f2e9ba223be1ddd9bd7a1dce8.png)
22
+ ![イメージ説明](6ebc6ae57f462ac2549a740e19cf613e.png)
23
23
 
24
24
  ## Firefox ver61の場合
25
25
  ![イメージ説明](69fa3d0896e0df6575030cfb4ecc9090.png)