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

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

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

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

HTML5

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

2回答

587閲覧

画像とテキストを横並びにしたい

taki00000

総合スコア1

CSS3

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

HTML5

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2020/11/11 07:22

編集2020/11/11 08:32

横並びにしたいです

現在スマホサイトを制作しております。
以下画像のようなレイアウトにしたいのですがなにがおかしいかわからず教えてほしいです。

【理想】
理想
【現状】
現状

該当のソースコード

HTML

1 2<div class="FAQlist"> 3 <div class="FAQqustion"> 4  <img src="/img/faq/Q.png" alt=""> 5  <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 6 </div> 7 <div class="FAQAnswer"> 8  <img src="/img/faq/A.png" alt=""> 9  <div class="FAQAnswer02"> 10   <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 11  </div> 12 </div> 13</div>

CSS

1 2.FAQlist{ 3 margin: 0.5rem 1rem; 4} 5 6.FAQqustion{ 7 background-color: #efefef; 8 border-radius:1rem; 9 margin: 0.5rem; 10 padding: 0.5rem; 11} 12.FAQqustion p{ 13 display:inline-block; 14} 15.FAQqustion img{ 16 width: 10%; 17 height: auto; 18 margin: 0.5rem; 19 display:inline-block; 20} 21.FAQAnswer{ 22 margin: 0.5rem; 23} 24.FAQAnswer02{ 25 display:inline-block; 26} 27.FAQAnswer img{ 28 width: 10%; 29 margin: 0.5rem; 30 display:inline-block; 31} 32 33

QとAが違うのはクラスの付け方が違うのかなと思ったのですがどうにもならずにこうなってます。inline-blockがなぜ効かないかがわからず途方に暮れています。
作業環境はWindows10・Dreamweaver(21)・chromeで行っております。ブラウザプレビューはDreamweaverの機能を使用しています。
flexを使用した場合は画像が縦長になってしまい、table-cellを使用したら上ぞろえになりませんでした。inline-blockは横並びにならずマーキングの仕方かタグの選び方が違うのかわかりませんでした。
中身がぐちゃぐちゃしているので申し訳ないです。素人すぎて調べてもわからず何がいけないがさっぱりわかりません。どうかよろしくお願いします。

ちなみに
【flexを使用した場合】
flexを使用

css

1.FAQlist{ 2 margin: 0.5rem 1rem; 3} 4 5.FAQqustion{ 6 background-color: #efefef; 7 border-radius:1rem; 8 margin: 0.5rem; 9 padding: 0.5rem; 10 display:flex; 11} 12.FAQqustion p{ 13} 14.FAQqustion img{ 15 width: 10%; 16 height: auto; 17 margin: 0.5rem; 18} 19.FAQAnswer{ 20 margin: 0.5rem; 21 display:flex; 22} 23.FAQAnswer02{ 24} 25.FAQAnswer img{ 26 width: 10%; 27 margin: 0.5rem; 28} 29

【table-cellを使用した場合】
テーブルセル

css

1.FAQlist{ 2 margin: 0.5rem 1rem; 3} 4 5.FAQqustion{ 6 background-color: #efefef; 7 border-radius:1rem; 8 margin: 0.5rem; 9 padding: 0.5rem; 10 display: table; 11} 12.FAQqustion p{ 13 display: table-cell; 14} 15.FAQqustion img{ 16 width: 100%; 17 height: auto; 18 margin: 0.5rem; 19 display: table-cell; 20} 21.FAQAnswer{ 22 margin: 0.5rem; 23 display: table; 24} 25.FAQAnswer02{ 26 display: table-cell; 27} 28.FAQAnswer img{ 29 width: 100%; 30 margin: 0.5rem; 31 display: table-cell; 32}

どれも解決策がわからずに今に至ります。マーキングがいけないのか指定の仕方がおかしいのか記述が抜けているのか全部なのかわからず申し訳ございません。どうかご教授お願い致します。

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

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

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

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

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

itzuakniami123

2020/11/11 07:42 編集

flexを使用したと書いてありますが、どの部分に適用しましたか? .FAQqustion と .FAQAnswerにdisplay:flexを適用したが要素が上ぞろえにならないという意味ですか?
taki00000

2020/11/11 08:07

おっしゃるクラスに使用したのですが、なぜか画像がpタグの大きさに合わせて縦長に変形してしまって解決策がわからずに断念しました。上ぞろえにならなかったのはdisplay:table-cellを使用した場合ですね。
guest

回答2

0

ベストアンサー

下記のCSSでどうですか。
50pxの部分は画像のサイズに合わせてください。

css

1.FAQlist{ 2 margin: 0.5rem 1rem; 3} 4.FAQlist > div { 5 display: flex; 6 margin: 0.5rem; 7 padding: 0.5rem; 8} 9.FAQlist > div > img { 10 flex: 0 0 50px; 11 height: 50px; 12 margin: 0.5rem; 13} 14 15.FAQqustion{ 16 background-color: #efefef; 17 border-radius:1rem; 18}

HTMLは全角空白がありましたので半角空白に修正してます。
また、<div class="FAQAnswer02">ブロックは不要なので削除してます。

CodePenサンプル

投稿2020/11/11 08:34

hatena19

総合スコア33715

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

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

taki00000

2020/11/11 09:25

回答ありがとうございました。flexをしっかり理解しておらずFlexboxは縦も高さもないのでflex-directionで指定しないといけないということを今回初めてしりました(flex: 0 0 50px;←この記述の意味が分からず調べました) またコードも簡潔になっており無意味なマーキングもなくなっており目から鱗でした。なかなか他人のコードを見る機会がなかったので大変参考になりました。ありがとうございました
guest

0

画像がpタグの大きさに合わせて縦長に変形してしまう

原因

CSS

1.FAQqustion img{ 2  width: 10%; 3  height: auto; 4} 5

高さをきちんと指定していないからです。

また、width:10%;という表記もまずいと思います。
画面サイズを変えていったときに、その親要素(.FAQqustion)に依存する形になるので。
画像サイズはちゃんとpx指定してあげてください。

また、HTMLですが<div>の閉じ忘れがあります。

正しくは

HTML

1<div class="FAQlist"> 2 <div class="FAQqustion"> 3 <img src="/img/faq/Q.png" alt=""> 4 <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 5 </div><!-- FAQqustion --> 6 7 <div class="FAQAnswer"> 8  <img src="/img/faq/A.png" alt=""> 9 <div class="FAQAnswer02"> 10 <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p> 11 </div><!-- FAQAnswer02 --> 12 </div><!-- FAQAnswer --> 13 14</div><!-- FAQlist -->

面倒だとは思いますが、最初のうちは何のid名やclass名の閉じタグかコメントアウトすると良いでしょう。

投稿2020/11/11 08:19

編集2020/11/11 08:25
itzuakniami123

総合スコア74

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

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

taki00000

2020/11/11 08:28

すみません。スマホサイト用に作っていると最初に記述するべきでした。スマホサイトもpx指定の方がいいですかね?小さくなりすぎても大きくなりすぎてもいけないかなと思ってパーセントを使っていたんですが…。 divは閉じ忘れてますね。申し訳ございません。
hatena19

2020/11/11 08:36

> スマホサイトもpx指定の方がいいですかね? メディアクエリを使って、スマホサイト用とPC用でサイズを変更するか、vw単位指定するかですね。
itzuakniami123

2020/11/11 08:40

Googleのデバッグモードで見れば一目でわかると思いますが、スマホサイト用に作っていると言えど、機種によって全体の横幅サイズは違ってくるわけです。 親要素である.FAQqustionのwidthの10%が画像サイズになる(=親要素のwidthに依存する)ので…。 レイアウトが崩れる原因にもなりかねないので、できるだけpx指定してあげてください。
taki00000

2020/11/11 09:17

アドバイスありがとうございます! スマホサイトのみなので今後はpx指定したいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問