解決済み

HTML <font>タグは使えない?

  • 困ってます
  • 質問No.7083336
  • 閲覧数2701
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 92% (38/41)

こんにちは。
過去にもサイト持ちだったのですが、最近になってまた興味が出始め、HTML言語をもう一度勉強しようと思いました。
その中で、昔はよく使っていた手法が今ではダメだと言われていることを知りました。特に<font>や<marquee>なんかが【使っちゃダメ】扱いになっていることを知り驚きました。
<table>タグを使ってレイアウトしちゃいけないというのはすぐに理解できました。<table>は【表】のためのものだからレイアウトに使っちゃいけないということですよね?
でも<font>は文字の大きさや色を変えるためのものだし<marqyee>はスクロールさせるためのものだから間違いじゃないと私は感じました。
なぜこれらのタグは使っちゃいけないんですか?

質問者が選んだベストアンサー

  • 回答No.1
HTMLのLは「言語」という意味なのでだぶってますよ。

HTMLはですね、あくまでマークアップ言語なんですよ。HTMLのMはマークアップのM。マークアップの意味についての厳密な話は省きますが、つまりHTMLは「意味を持たせる」ために使用するものだということです。

たとえばページ最上部に大きく「新年のご挨拶」と表示する場合。
これは文書全体の中でどんな意味があるかといえば「タイトル」とも呼ぶかも知れませんがまあ「見出し」なわけです。だから<h1></h1>で囲んで「これは一番上位の見出しです」とブラウザに教えるのです。ブラウザは文章の意味なんか理解するようには作られていませんので、<h1></h1>を見て、その要素を強調(IEならば大フォント太字)するわけです。

一方、「font」「marquee」はどうかというと、これは意味をもたせないタグです。「ここは赤文字でサイズ小」「ここはスクロール」というのはただの効果であって、そのタグの中にあるものが「何であるか」を一切示せていませんよね?こういうのが、本来のHTMLとしてはよくないという判断が下され、「非推奨」となりました。
非推奨なので別に使うのは構わないんですが、「そのうちブラウザが対応しなくなるかもね」とか「そのうちこのタグ自体HTMLからなくすかもね」ということになるので、使わないで「きちんとした」HTMLを書くようにしたほうがいいでしょう。

じゃあ文字の色を変えたりしたい場合どうするかというとこちらはCSSを使用します。CSSについては本題ではないので割愛。まあ大してハードルの低い技術でもないのでググってくれればすぐに大まかなところは掴めるでしょう。


細かい話は非推奨とか論理マークアップとかそういうキーワードでググるといっぱいでてきます。
http://msugai.fc2web.com/web/app/html.html
お礼コメント
rinrin_ring

お礼率 92% (38/41)

なるほど!分かった気がします!
じゃあ<b><u><i>も文字を変えるだけのタグだからダメってことですよね?
ありがとうございます!
投稿日時 - 2011-10-20 13:52:49

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 45% (5062/11035)

HTMLの歴史をおさらいすると、よくわかります。
元々は科学技術関係で開発された技術であることに由来します。
★14.1 スタイルシートの概説 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )
をよくお読みください。
 そして、
★2.4.1 構造とプレゼンテーションの分離 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.4.1 )
★2.2.1 HTMLの略歴 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )

 この仕様書が勧告になったのは、1999年12月ですから、まもなく12年になります。
 この仕様書の随所で書かれているのは、ユーザーエージェントはサポートしなければならないが、著者は使わないように・・です。それぞれどの要素がそれに当たるかは
★要素索引 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/index/elements.html )
のD,L,Fと書かれているものです。

 HTML5では、HTML4.01の時代から十数年経過しましたから
【引用】____________ここから
次に挙げる要素は HTML5 に存在しません。なぜならこれらの要素は表象的であり、またそれらの機能は CSS にて扱われるべきだからです。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[HTML5 における HTML4 からの変更点( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#absent-elements )]より
 となっています。さらに、「著者が使えるもの」と「ユーザーエージェントがサポートしなければならないもの」に明確になりました。

marqyeeは、すでに4.01の時代からありませんので論外ですが、「HTMLは文書の構造をマークアップするもの」「スタイルシートでプレゼンテーションを指定する」とはっきりと区別しておくほうが良いですし、そうすべきでした。

 HTML4.01が勧告されて、十数年経つのに、いまだにtransitinalが使われ続けていることのほうがおかしい。


 
お礼コメント
rinrin_ring

お礼率 92% (38/41)

長文ありがとうございます!
読んでても何のことかよく分からないことだらけですが、頑張って勉強しますね!
投稿日時 - 2011-10-20 14:09:33
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ