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

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

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

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

Q&A

解決済

2回答

5244閲覧

レスポンシブでフォームを縦並びにしたい・

hayu

総合スコア1

CSS3

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

0グッド

0クリップ

投稿2022/02/21 03:01

初めて投稿させて頂きます。
コーディング初心者、ポートフォリオを作成しているところで躓いております。

PC版でフォームの要素を横並びにしたのですが、
レスポンシブでどうしても縦並びになってくれません・・。
display:flex, flex-direction:column; など、色々と試しておりますが
どこが間違っておりますでしょうか。
ご回答いただけますと幸いです。

イメージ説明

<form action="#" method="post"> <div class="form"> <div class="form-item"> <p class="label">お名前</p> <input type="text" class="input" placeholder="例)山田太郎"> </div> <div class="form-item"> <p class="label">メールアドレス</p> <input type="email" class="input" placeholder="例)example@gmail.com"> </div> <div class="form-item"> <p class="label">お問い合わせ内容</p> <textarea class="textarea"></textarea> </div> </div>
@media screen and (max-width: 480px) { .form { margin-top: 40px; } .form-item { padding-left: 14px; padding-right: 14px; padding-top: 16px; padding-bottom: 16px; display:flex; } .label { align-items: center; font-size: 15px; display:flex; flex-direction: column; } .input { margin-left: 0; margin-top: 18px; height: 40px; font-size: 15px; } .textarea { margin-top: 18px; margin-left: 0; height: 200px; font-size: 15px; }

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

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

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

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

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

Lhankor_Mhy

2022/02/21 04:37

「PC版でフォームの要素を横並びにした」時のCSSをご提示ください。
hayu

2022/02/21 23:37

ご覧頂きありがとうございます。 PC版はこちらになります。 .form-item { padding-top: 20px; padding-left: 2 0px; width: 100%; display: flex; align-items: center; } .label { width: 100%; max-width: 248px; letter-spacing: 0.05em; text-align: right; } .input { border: 1px solid #ddd; border-radius: 6px; margin-left: 40px; padding-left: 1em; padding-right: 1em; height: 40px; flex: 1; width: 100%; max-width: 410px; background: #eaedf2; font-size: 18px; }
guest

回答2

0

ベストアンサー

flexレイアウトの コンテナと アイテム の関係が理解できていないようですね。下記などで確認してください。

もう迷わない!CSS Flexboxの使い方を徹底解説 | Web Design Trends

.label.inputを縦並びにしたいのなら、display:flex; flex-direction:column;は親要素(コンテナ)の.form-itemに設定します。

css

1 .form-item { 2 padding-left: 14px; 3 padding-right: 14px; 4 padding-top: 16px; 5 padding-bottom: 16px; 6 display:flex; 7 flex-direction: column; /* 追加 */ 8 } 9 .label { 10 align-items: center; 11 font-size: 15px; 12 /* display:flex; 13 flex-direction: column; 削除 */ 14 }

投稿2022/02/21 15:42

hatena19

総合スコア34364

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

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

hayu

2022/02/21 23:38

ありがとうございます。教えていただいた通りにも何度か試しているのですが、反映されないのです・・。ここ以外に問題があるということが考えられますでしょうか。
hayu

2022/02/21 23:49

ちなみに、PC版のコードにおいて、”.form-item"内のdisplay:flexを試しに削除すると、PC版ではもちろんですがSP版でも横並びは解除されて縦並びになります。PC版だけ横並びにならないのは、他の部分が影響しているのでしょうか・・。
hatena19

2022/02/22 02:58

提示のコードだけだと縦並びになりますので、提示されていない他の部分が影響しているのでしょうね。 確認用サンプル↓ https://codepen.io/hatena19/pen/rNYvYBj > C版のコードにおいて、”.form-item"内のdisplay:flexを試しに削除すると、PC版ではもちろんですがSP版でも横並びは解除されて縦並びになります。 それならSP版の .form-item に display: block; を設定すればどうでしょう。
hayu

2022/02/25 07:31

ありがとうございます。ごへんしん遅くなりまして申し訳ありません。 display:blockでも解除できなかったのですが、メディアクエリで、480pxとなっていたブレイクポイントを試しに600pxにしたら、縦並びになりました。テキストの通りに480で設定していたのですが、、。とりあえず反映されましたので良かったです。ありがとうございました。
guest

0

要素を横並びにする方法はdisplay: flex;以外にもいくつかあります。
今回(PCで横並び、SPで縦並びをレスポンシブで)の場合、floatプロパティで、横並びしていた要素が画面サイズが小さくなったらカラム落ちして縦並びになる、という風にするのはいかがでしょうか?

html

1<div class="formtest"> 2 <div> 3 <p>フォームてすと1</p> 4 <input type="text"> 5 </div> 6 <div> 7 <p>フォームてすと2</p> 8 <input type="text"> 9 </div> 10 <div> 11 <p>フォームてすと3</p> 12 <input type="text"> 13 </div> 14</div>

css

1.formtest { 2 border: 1px solid #000; 3 border-radius: 5px; 4 overflow: hidden; 5} 6.formtest > div { 7 clear: both; 8} 9p, 10input { 11 float: left; 12 margin: 1em; 13 white-space: nowrap; 14} 15input { 16 width: 300px; 17}

投稿2022/02/21 04:30

lifull_shimaokk

総合スコア129

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

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

hayu

2022/02/21 23:39

ありがとうございます。 こちらは、PC版もflexではなく、floatにする必要がありますでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問