質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

1549閲覧

<textarea>フォーカス時のアニメーションについてiOSでうまく動作しない

treevillage

総合スコア4

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/09/08 04:51

編集2020/09/09 05:27

スマホで、テキストエリアにフォーカスした時、入力エリアが画面いっぱいに広がるアニメーションをつけました。

・フォーカス時:入力エリア画面いっぱい
・キーボードの完了をタップ:もとの大きさに戻る

このようなことをしたいです。
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

viewportは設定されてますか?

強引なやり方だと、
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
maximum-scaleをセットすると、ちゃんと動作するかもしれません。

あと、老婆心ですが、スマートフォンのデバイスキーボード対応は、バージョンアップなどで仕様がコロコロ変わるので、あまり深く追求せずに、全体的な対応をする思考で居たほうがいいですよ。

投稿2020/09/13 23:29

geta

総合スコア241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

treevillage

2020/09/14 16:12

ありがとうございます。 viewport設定しています。少し書き方が違ったので、いただいたコードに差し替えましたが、やはりうまく動作しませんでした…。 デバイスキーボードの仕様はコロコロ変わるんですね。悩ましいです…。
geta

2020/09/14 23:02

こちらでは正常に動作しているので、もっと根本的な原因かもしれませんね。 事象の再現性などがこちらでわかれば、お教えできるのですが・・・ 現時点での情報ではこれ以上深入りしない方が良さそうですね。 iOSのデバイスキーボードは、サードパーティも許可されるようになっているので、恐らく追いきれないと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問