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

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

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

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

CSS

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

Q&A

解決済

2回答

882閲覧

display:flex;を使う理由について

pckuma

総合スコア6

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/11/04 07:28

編集2021/11/06 01:25

現在ECサイトの模写をしています。
リンク内容
メインのタイトル部分「TOTALLY Short Sleeve Shirt」のソースコードを確認したところ、下記のようにフレックスボックスを使用していました。

<div class="item-image"> <img src="img/item.jpg" alt=""> </div> <div class="item-info"> <h1 class="item-title">TOTALLY Short Sleeve Shirt</h1> <p> テキストテキストテキストテキストテキストテキストテキスト テキストテキストテキストテキストテキストテキストテキスト テキストテキストテキストテキストテキストテキストテキスト テキストテキストテキストテキストテキストテキストテキスト テキストテキストテキストテキストテキストテキストテキスト テキストテキストテキスト </p>
#item .item-info .item-title { height: 60px; display: flex; align-items: center; border-top: solid 1px #c3c3c3; border-bottom: solid 1px #c3c3c3; font-size: 1rem; font-weight: bold; margin-bottom: 20px; }

何と横並びにしているのか分からず、デベロッパーツールで確認すると、タイトル部分と余白?をフレックスボックスを使って横並びにし、align-items:center;で中央揃えにしているようでした。

h1の上下に同じ数値(18pxなど)のpaddingをつけると、同じような形になるのですが、flexboxを使う理由が何かあるのでしょうか?
また、学習を行っている中、余白との横並びを実現するためにflexを使っているのを
初めて見ましたが、この使い方はよくある事なんでしょうか?

初心者のため、わかりやすく教えていただけると幸いです。よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

h1の上下に同じ数値(18pxなど)のpaddingをつけると、同じような形になるのですが、flexboxを使う理由が何かあるのでしょうか?

18px は (60 - 16 * 1.5) / 2で計算したのだと思います。
height やフォントサイズなどを変更した時に計算し直さなくてよい、というメリットがあると思います。


余白との横並びを実現するためにflexを使っている

余白と横並びにしているわけではないと思います。フレックスアイテムはひとつなので、横並びも縦並びもないです。


この使い方はよくある事なんでしょうか?

縦中央をお手軽にできるので、よく使います。

投稿2021/11/04 07:54

Lhankor_Mhy

総合スコア36960

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

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

pckuma

2021/11/04 10:26

分かりやすいご回答ありがとうございました。 いくつかのフレックスアイテムを横並び縦並びにするため以外にも、今回のような使い方があるという事ですね。理解できました。
guest

0

h1の上下に同じ数値(18pxなど)のpaddingをつけると、同じような形になるのですが

コーディングする時は通常デザインカンプを見ながら行うと思います。
paddingで形を揃えようとすると、文字から外側のborderまで何px離れているのか
いちいち計算しなければならず、面倒臭いのでflexとalign-items:centerで真ん中に揃えます。

投稿2021/11/04 07:51

Keichi_Negishi

総合スコア25

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

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

pckuma

2021/11/04 10:12

理解できました。簡単に縦中央揃えにするために行っているという事ですね。 とても分かりやすいご回答をしていただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問