見出し画像

jsPsych: テキスト入力で2行以上だとfont-sizeの変更が反映されない


困りごと

参加者が自由記述の形式で回答するときのフォントサイズは,jspsychのCCSファイル(jspsych.css)を書き換えることで変更可能です。

具体的には,以下の部分のfont-sizeの部分を書き換えるとOK

/* Form elements like input fields and buttons */
.jspsych-display-element input[type=text] {
  font-family: "Open Sans", "Arial", sans-serif;
  font-size: 2rem;  /* ここを書き換える */
  line-height: 1.2;
}

例えば表示される文字の大きさは1remで,入力する文字の大きさは2remだと,こんな感じで入力文字だけでっかくなります↓

ただ,この反映は,1行で入力する場合しか反映されないんですよね・・・

上の画像みたいな場合なら問題ないんですが,表示文字を3remにする必要があるとき,入力文字が1remのままだと困るわけです。

これ,実はjsPsychのplugin-survey-textで参照している文字の大きさに関するCSSが,1行のときと2行のときで違うからなんですよね。。。

そこで今回は,この問題を解決するための方法をメモ

やり方

めっちゃ簡単です。
下記のように書き換えてみてください。

/* Form elements like input fields and buttons */
.jspsych-display-element input[type=text],
.jspsych-display-element textarea {
  font-family: "Open Sans", "Arial", sans-serif;
  font-size: 2rem;
  line-height: 1.2;
}

1~2行目までが変化してます。

具体的には,.jspsych-display-element textarea が書き足されてます( input[type=text] の後ろにある , をお忘れなく)。

jsPsychのplugin-survey-textでは,1行だけの入力欄を作る場合にはinput要素を用いるんですが,2行以上の場合はtextarea要素を用いています(なお,これは基本的なHTML・CSSによるWebページでも同様です)。

ただこの,textareaに関する記述が,ダウンロードできるCSSファイルにはなかったんですよね。。。

そこで,自分で書き足してあげよう!というのが,今回の記事でやってることでした。 


いいなと思ったら応援しよう!