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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

2回答

693閲覧

HTML, CSS: 文章を中央寄せにしたい

toyop

総合スコア30

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

0クリップ

投稿2020/09/22 11:24

編集2020/09/22 12:08

こんにちは。

現在、HTMLとCSSでホームページを作っています。
以下の様なコードがあるのですが、文字を縦・横の中央寄せにしたいです。

html

1<section id="3" class="gray-back"> 2 <h2 class="center"><span class="under">申し込みの流れ</span></h2> 3<div class="container"> 4<div class="row flow"> 5 <div class="col span-3"> 6 <img src="img/flow.jpg" alt="申し込み"> 7 </div> 8 <div class="col span-9"><p>ここに文章が入ります。ここに文章が入ります。ここに文章が入ります。</p> 9 </div> 10 </div> 11<div class="row flow"> 12 <div class="col span-3"> 13 <img src="img/flow.jpg" alt="申し込み"> 14 </div> 15 <div class="col span-9"><p>ここに文章が入ります。ここに文章が入ります。ここに文章が入ります。</p> 16 </div> 17 </div> 18<div class="row flow"> 19 <div class="col span-3"> 20 <img src="img/flow.jpg" alt="申し込み"> 21 </div> 22 <div class="col span-9"><p>ここに文章が入ります。ここに文章が入ります。ここに文章が入ります。</p> 23 </div> 24 </div> 25 </div> 26</section>

実際の画像

このページ(CSSで中央寄せする9つの方法(縦・横にセンタリング))のコード(下画像)を参考にしてみたのですが、このコードだと画面を小さくしていった際に文字と画像が被ってしまいます(本来は画像の下に回り込んで欲しい)。
参考コード

解決策をご存知の方がいらっしゃいましたら、ご教授ください。よろしくお願いいたします。

・参考サイト(大元のコードのテンプレート)
テンプレどん

<追加>
追加

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

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

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

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

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

hatena19

2020/09/22 12:33 編集

「題名」も含めたHTMLコードと、 現状のCSSコードも提示してください。
toyop

2020/09/22 12:52

すみません。コード載せ忘れていました... こちらになります。よろしくお願いします。 <div class="row flow"> <div class="col span-3"> <img src="img/flow.jpg" alt="申し込み"> </div> <div class="col span-9 center"> <h3>ここに題名が入ります。ここに題名が入ります。</h3> <p>ここに文章が入ります。ここに文章が入ります。ここに文章が入ります。</p> </div> </div>
hatena19

2020/09/22 12:55

質問は編集できますので、質問に追記してください。 現状のCSSコードの追記もお願いします。
guest

回答2

0

ベストアンサー

全体のCSSが分からないので、
とりあえず下記でどうかな?

css

1.span-9 { 2 display: flex; 3 flex-direction: column; 4 justify-content: center; 5 align-items: center; 6}

https://popo-design.net/template/
の最初のテンプレートを使っているのですね。
テンプレートをダウンロードしてみました。
bootstrap的なCSSフレームワークな造りになっているので、既存のクラスを修正するのは他の部分に影響を及ぼしますので、修正したい要素にクラスを追加して、そのクラスにCSSを設定するようにした方がいいでしょう。

HTML

1 <div class="row flow"> 2 <div class="col span-3 flex-col"> 3 <img src="https://placehold.jp/150x150.png"> 4 </div> 5 <div class="col span-9 flex-col"> 6 <h3>ここに題名が入ります。ここに題名が入ります。</h3> 7 <p>ここに文章が入ります。ここに文章が入ります。ここに文章が入ります。</p> 8 </div> 9 </div>

画像の親要素と、題名、文章の親要素に、flex-col というクラスを追加します。

css

1.flex-col { 2 display: flex; 3 flex-direction: column; 4 justify-content: center; 5 align-items: center; 6} 7 8/* 以下はお好みで */ 9.flex-col > img { 10 width: 100%; /* 画像の幅を親要素に揃える */ 11}

以上でどうでしょう。

投稿2020/09/22 12:45

編集2020/09/23 02:14
hatena19

総合スコア33782

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

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

toyop

2020/09/22 12:55

hatena19さん ご回答ありがとうございます。 教えていただいたコードで題名の問題は無事解決したのですが、画面をスマホサイズにしたときに、画像が中央じゃなくて左によってしまうのですが、これの原因分かりますでしょうか。
hatena19

2020/09/22 13:42

https://popo-design.net/template/ の最初のテンプレートを使っているのですよね。 ダウンロードして style.css に上記の CSS追加して確認してみましたか、スマホサイズで画像が左によるとことはないですね。 テンプレートからどこか修正してませんか。
toyop

2020/09/22 13:56

hatena19さん わざわざ確認していただいたとのことで、お手数おかけしてしまい本当に申し訳ございません。テンプレートのデフォルトの画像だと左に寄らないのですが正方形に近い画像(個人的な写真だったので載せてなかったです。説明不足ですみません)を使うと左によってしまうみたいです。
hatena19

2020/09/23 02:15

回答に追記しておきましたので、ご参照ください。
toyop

2020/09/23 05:59

hatena19さん 教えていただいた方法で無事解決しました! いつも本当にありがとうございます。
guest

0

上下左右中央揃えにしたい対象の親要素に対して以下のように指定してください。

css

1.span-9 { 2 display: flex; 3 justify-content: center; 4 align-items: center; 5}

中身に文章を含む要素そのものに指定してもいいですが、他にもタグを追加してそれらも中央に寄せることを考慮すると親要素に指定した方が無難です。

投稿2020/09/22 11:49

NAOPI-05

総合スコア132

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

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

toyop

2020/09/22 12:05

NAOPI-05さん ご回答ありがとうございます。教えていただいたコードで中央寄せにできました。 追加で一つだけ聞かせてください。文章に題名も付けようと思ったのですが、そうすると題名と本文が横並びになってしまいました(画像を追加しました)。こちらの解決方法も教えていただけないでしょうか。大変申し訳ございません。よろしくお願いいたします。
toyop

2020/09/22 12:08

題名の下に本文が来る様にしたいです。
NAOPI-05

2020/09/22 13:04

span-9 内のpタグの上に見出しを入れるということですか? それなら「flex-direction: column」を追加して下さい。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問