🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSS3

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

HTML5

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

Q&A

解決済

2回答

865閲覧

spanをここで使う理由がわからない

gunmed

総合スコア55

CSS3

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

HTML5

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

1グッド

1クリップ

投稿2019/10/09 07:28

しかし、spanはinlineで、divはblockというのが違いであると認識していますが。
下記のようなHTMLにおいてのspanとdivの使い分けについて、悩んでいます。

html

1<h2 class="heading">NEWS</h2> 2 <ul class="scroll"> 3 <li class="scroll-item"> 4 <a href="#"> 5 <time class="date" datetime="2015-08-23">2019.08.23 SUN</time> 6 <span class="cate news">新着</span> 7 <span class="tit">こんにちは</span> 8 </a> 9 </li> 10   <!---以下略->

以上のHTMLにCSSで少し装飾したのが以下の画像です。

css

1.scroll .date { 2 display: inline-block; 3 width: 19%; 4 letter-spacing: 1px; 5 font-weight: bold; 6 font-size: 1.0rem; 7} 8.scroll .cate { 9 display: inline-block; 10 width: 8%; 11 border-radius: 5px; 12 background-color: #d03c56; 13 color: #fff; 14 text-align: center; 15 letter-spacing: 1px; 16 font-size: 1.0rem; 17 line-height: 16px; 18} 19.scroll .tit { 20 display: inline-block; 21 width: 73%; 22 font-size: 1.2rem; 23 padding-left: 15px; 24 overflow: hidden;/*はみ出た部分を非表示*/ 25 text-overflow: ellipsis;/*はみ出た部分がある場合は、...が表示される*/ 26 white-space: nowrap;/*折り返し禁止*/ 27 /*上3つはセットで使用。p68参照*/ 28} 29.scroll .cate.news { 30 background-color: #2c3c53; 31}

イメージ説明

今回はspanをつかって要素を囲っています。
しかし、cssでdisplay:inline-blockに直しています。
それならdivでもいいと思うのですが、このシチュエーションでspanを使う理由とかがあれば教えていただけると幸いです。

mac 10.14.6
google chrome

miyabi_pudding👍を押しています

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

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

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

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

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

guest

回答2

0

spanもdivもinline-blockではないですから、どちらを利用してもよいのでは?
昔からの感覚から考えるとaの中にブロック要素の代表であるdivが入るのは
違和感あると思いますけど。

投稿2019/10/09 07:45

yambejp

総合スコア116694

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

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

miyabi_takatsuk

2019/10/09 10:26 編集

> 昔からの感覚から考えるとaの中にブロック要素の代表であるdivが入るのは違和感 これめっちゃ禿同ですね。 HTML5から許可されるようになった時はけっこう驚きました。
gunmed

2019/10/10 06:19

回答ありがとうございます。 そのような感覚がなく、勉強になりました。 ありがとうございました。
guest

0

ベストアンサー

それならdivでもいいと思うのですが、

いえ、この<a><li>の中にありますが、<li>の中身はフローコンテンツでないといけませんので(MDN)、記述コンテンツである<div>は適切ではありません。

(なお、HTML 4.01では<a>の中身はインライン要素に限定されていましたが、HTML 5では<a>にフローコンテンツだけでなく記述コンテンツを入れることも許可されています)

投稿2019/10/09 07:38

maisumakun

総合スコア145975

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

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

gunmed

2019/10/09 08:12

回答ありがとうございます。 maisumakunさんの説明の意図を汲み取れました。ありがとうございます。 まだ初学者ゆえ、色々と調べていたのですが、提示していただいたMSDのサイトから以下のサイトに飛ぶと、フローコンテンツと記述コンテンツの分類が見れたのですが、divはフローコンテンツの欄にあるのですが、どうでしょうか...? 記述コンテンツやフローコンテンツという言葉を初めて聞いたので、困惑してしまっています、すみません、、、。 ちなみにspanはフローコンテンツと記述コンテンツの両方に含まれていました。 https://developer.mozilla.org/ja/docs/Web/Guide/HTML/Content_categories#Flow_content
x_x

2019/10/09 08:13

フローコンテンツに div が含まれます。 逆に記述コンテンツ(フレージングコンテンツ)にはありません。
gunmed

2019/10/11 09:04 編集

回答ありがとうざいます。 もう少し考えてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問