スマホで、テキストエリアにフォーカスした時、入力エリアが画面いっぱいに広がるアニメーションをつけました。
・フォーカス時:入力エリア画面いっぱい
・キーボードの完了をタップ:もとの大きさに戻る
このようなことをしたいです。
iOSのSafariで確認した結果、フォーカス時に立ち上がったキーボードのタイプによって上手く動作しません。
もし原因がわかる方いたらご指摘お願いします。
詳細は下記にまとめました。
立ち上がったキーボードがテンキーの場合
フルキーボードに変換して入力してから「完了」をタップしても元の大きさに戻らない
立ち上がったキーボードがフルキーボードの場合
逆も然りです。
テンキーに変換して入力してから「完了」をタップしても元の大きさに戻らない
例外的にうまく動作する場合
上記の条件で下記のパターンだけは元の大きさに戻りました。ですが、ほとんどの場合にはうまく動作しません。
・1文字入力
・改行
・完了
→OK
・1文字入力
・空白
・完了
→OK
コード
HTML
1 <div class="form_area"> 2 <form> 3 <textarea id="test" name="test" cols="28" rows="10" wrap="soft" placeholder="テキスト入力"></textarea> 4 </form> 5 </div>
CSS
1.form_area { 2 padding: 20px 0; 3 width: 86%; 4 margin: 10% auto 0; 5 background:#ddd; 6 background-size:cover; 7 transition: all 0.5s; 8} 9 10#test{ 11 font-size:24px; 12 line-height:150%; 13 width: 100%; 14 height: 54vh; 15 padding: 20px; 16 resize: none; 17 display: block; 18 margin: 0 auto; 19} 20 21#test:focus { 22 outline: 0; 23 height: 40vh!important; 24} 25 26.form_area:focus-within { 27 outline: 0; 28 margin-top: 0; 29 width: 100%; 30 height: 100vh; 31 transition: all 0.5s; 32 touch-action: none; 33} 34
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/14 16:12
2020/09/14 23:02