こんにちは
質問なのですがアイコンフォントなどを使用するとき<span>などを使わずにわざわざイタリックを使用する理由ってありますか?
Font Awesome などでも
html
1<i class="fa fa-ban">
などとありますし
簡単な質問ですが回答できるのならばお願いします
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答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
総合スコア21735
0
セマンティック的に正しければ使っていいんじゃないでしょうか。
オフセットテキスト(或いはイタリック)要素(<i>)は、技術用語、外国語のフレーズ、または架空の人物の思考など、何らかの理由で他のテキストと離して配置して区別されるテキストの範囲を表します。英文においては通常斜体で表示される事の多い部分であり、殆どの場合、ブラウザはこの要素に対しイタリック体のデフォルトスタイルを指定しています。
投稿2016/12/10 00:52
総合スコア36115
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。