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

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

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

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

CSS

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

Q&A

解決済

2回答

2078閲覧

HTML アイコンフォントなどに<i> (イタリック)が使われる理由を教えてほしい

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

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

CSS

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

0グッド

1クリップ

投稿2016/12/10 00:36

こんにちは

質問なのですがアイコンフォントなどを使用するとき<span>などを使わずにわざわざイタリックを使用する理由ってありますか?

Font Awesome などでも

html

1<i class="fa fa-ban">

などとありますし

簡単な質問ですが回答できるのならばお願いします

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

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

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

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

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

guest

回答2

0

ベストアンサー

StackOverflowに同じような質問があります。
html - Should I use <i> tag for icons instead of <span>? - Stack Overflow
重複が他にもあるのですが、とりあえず上の質問の回答で最も票を集めているQuentinさんの回答での理由は下記の通りです。

  • Short / 短い
  • i stands for icon (although not in HTML) / i は icon を表す (HTMLにはそんなものは無いけど)

彼はこの方法を Awful practice (酷い習慣)と言っています。意味論よりも効率を取っただけと言うことです。


さて、上の回答は2012年6月にされたものです。このとき、HTML5はまだ勧告されていません。草案は既にできていましたが、正式なHTMLやHTML4.01またはXHTML1.0、XHTML1.1までしかなかった時の話です。HTML4.01仕様書によれば、<i>はフォントのスタイルを設定する要素で、参考情報としてはイタリック体でレンダリングされるとされています(ブラウザ依存のため、必須では無い)。XMHTML1.0はHTML4.01のXML版であり、意味論は同じです。XHTML1.1ではXHTML1.0のうちstrictを取り出した物で、意味論は同じです。つまり、この時代において、<i>はフォントスタイルを指定する以外の意味を持たず、アイコンに使うと言うことは全く以て意味が無いことでした。

しかし、HTML5からは違います。HTML5仕様書および最新のHTML仕様書(実質HTML5.1ですが、バージョン番号が無くなったそうです)では、下記のようになっています。

i要素は、代わりの声やムードでテキストの範囲を表すか、またはそうでなければ、たとえば分類学上の名称、専門用語、他言語の慣用句、意見、または西洋のテキストで船名など、異なる品質のテキストを示す方法で通常の文からのオフセットを表す。

アイコンは変わりのムードだ!異なる品質のテキストだ!と言えないことも無いですが、その対象は<i>が囲んでいるテキストです。アイコンで使う<i>では通常テキストがありません。いや、テキストがあれば前にアイコンを付けられるというテキストということで意味を持たせることはできるかも知れませんが、いささか暴論のような気もします。


もう、どうしようもなく駄目なことがわかったところで、Font Awesome での議論が Issuse にありました。
[request] Please make element (<i> vs <span>) optional for icon helpers · Issue #62 · bokmann/font-awesome-rails
現在はサンプルのページで "we like the <i> tag for brevity, but using a <span> is more semantically correct" 「<i>の方が短いから、うちらはそっち使うけどさー、意味論とか頭固い人は<span>使えば良いんじゃねーのー?(超訳)」となっており、<i>ではなく<span>を使っても特に問題はありません。

投稿2016/12/10 02:24

raccy

総合スコア21735

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

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

0

セマンティック的に正しければ使っていいんじゃないでしょうか。

オフセットテキスト(或いはイタリック)要素(<i>)は、技術用語、外国語のフレーズ、または架空の人物の思考など、何らかの理由で他のテキストと離して配置して区別されるテキストの範囲を表します。英文においては通常斜体で表示される事の多い部分であり、殆どの場合、ブラウザはこの要素に対しイタリック体のデフォルトスタイルを指定しています。

i 要素 - HTML | MDN

投稿2016/12/10 00:52

Lhankor_Mhy

総合スコア36115

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問