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

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

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

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

HTML5

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

Q&A

解決済

3回答

974閲覧

画像とテキスト(画像の下にテキストが来るイメージ)両方を中央横並びにしたい。

rara0210

総合スコア18

CSS3

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

HTML5

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

0グッド

0クリップ

投稿2020/10/04 12:18

編集2020/10/05 02:05

前提・実現したいこと

画像とテキスト両方を横並びの中央揃えにしたいです。
画像の下にテキストが来るイメージでそれが横並びに9個並んでいるイメージです。

該当のソースコード

<ul class="round"> <li><img src="#"><p class="txt-content">aaaaaa</p></li> <li><img src="#"><p class="txt-content">iiiiiiiii</p></li> <li><img src="#"><p class="txt-content">uuuuuuuuuu</p></li> <li><img src="#"><p class="txt-content">eeeeeee</p></li> <li><img src="#"><p class="txt-content">ooooooooooooo</p></li> <li><img src="#"><p class="txt-content">kakakakakkakaka</p></li> <li><img src="#"><p class="txt-content">kikikikikiki</p></li> <li><img src="#"><p class="txt-content">kukukukuku</p></li> <li><img src="#"><p class="txt-content">kekekekeke/p></li> </ul>
.round > li{ list-style:none; } .round > li > *{ display:block; vertical-align:middle; margin:0; } .round p { color: #999999; } .round img { border-radius: 50%; width: 97px; height: 97px; }

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

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

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

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

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

guest

回答3

0

ベストアンサー

こういうことでしょうか?

CSS

1.round > li{ 2 list-style:none; 3} 4 5.round{ 6 display:flex; 7 flex-flow:row nowrap; 8} 9.round > li > *{ 10 display:block; 11 vertical-align:middle; 12 margin:0; 13} 14 15.round p { 16 color: #999999; 17 text-align:center; 18} 19 20.round img { 21 border-radius: 50%; 22 width: 97px; 23 height: 97px; 24 25}

元のCSSを継承しているため画像の下にぴったり文字がくっつく形になっています。
また画像同士のmarginを設定していないので必要であればmarginを追加してください。
横並びに9個並べたいとのことなのでnowrapで改行をしない設定にしていますが必要であればwrapに変更してください。

追記

横幅100px でテキスト強制改行

css

1.round > li{ 2 list-style:none; 3 width:100px; 4} 5 6.round{ 7 display:flex; 8 flex-flow:row nowrap; 9} 10.round > li > *{ 11 display:block; 12 vertical-align:middle; 13 margin:0; 14} 15 16.round p { 17 word-break: break-all; 18 color: #999999; 19 text-align:center; 20} 21 22.round img { 23 border-radius: 50%; 24 width: 100px; 25 height: 100px; 26 27}

投稿2020/10/05 02:18

編集2020/10/05 04:11
gogoweb_ikeda

総合スコア1426

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

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

rara0210

2020/10/05 02:52

確かに横並びになりましたが、中央揃えになりません。。。 また文字数の影響なのか画像同士の間がまばらです。 margin: 0 20px; などしても間はあきますがまばらのままです。。。
gogoweb_ikeda

2020/10/05 03:01

文字数が一文字(画像より小さい)想定でしたので文字に対する制限はかけていません。 文字数が多い場合はどのような挙動を想定していますか? 画像の横幅(97px)が要素の最大値で、文字がそれを超える場合は改行するのでしょうか?
rara0210

2020/10/05 03:12

文字数が多い場合width:100pxが要素の最大値で、超えた場合は改行にしたいです。 imgのwidthは100px;に変更するつもりです。
rara0210

2020/10/05 06:40

左寄せのままになってしまいます。 また、margin:0 10px; にした場合文字だけに反応され、画像はそのままです。 roundにwidth:1000px margin:0 auto;を書き足してみましたが若干ずれて中央揃えになります。 中央揃えにし画像同士のmarginが反映されれば完璧です。
gogoweb_ikeda

2020/10/05 06:50

marginを追加しているのはどこにしていますが?要素同士にマージンを追加するので .round > li に追加してください。 テキストの左寄せは他のクラスの影響を受けていませんか? text-align:center!important に変えてみてください。
rara0210

2020/10/05 07:09

思い通りになりました!ありがとうございます。
guest

0

css

1.round > li{ 2 list-style:none; 3} 4.round > li > *{ 5 display:block; 6 vertical-align:middle; 7 margin:0; 8}

こっちではどうでしょう?

投稿2020/10/05 01:23

geta

総合スコア241

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

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

rara0210

2020/10/05 02:06

横並びになりませんね。。。 現在のコードを編集して再度書きました。 ちなみに、画像は丸のイメージなので丸のまま横並びの中央揃えにしたいです。
guest

0

これでどうですか?

CSS

1.round > li{ 2 display:flex; 3} 4.round > li > *{ 5 display:inline-block; 6 vertical-align:middle; 7 line-height:97px; 8 margin:0; 9}

投稿2020/10/04 13:28

geta

総合スコア241

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

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

rara0210

2020/10/04 14:21

試してみましたが、画像が縦並びになりその横に文字が来る感じになってしまいました。 画像 画像 画像  a i u みたいな感じにしたいです。 a
rara0210

2020/10/04 14:25

試してみましたが、画像が縦並びになってしまいます。 画像の下に文字がきて横並びの中央揃えにしたいです。
rara0210

2020/10/04 14:28

23:21分のコメントはミスです! ですがイメージとしては画像の下にa 隣の画像の下にi みたいな感じです。
geta

2020/10/05 01:20

あ、ミスの指摘を忘れてました。 <ul classs="round"> ↓ <ul class="round"> classのsが3つありますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問