重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (2件)

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/20 13:52

HTMLの歴史をおさらいすると、よくわかります。


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

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

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

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

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


 
    • good
    • 0
この回答へのお礼

長文ありがとうございます!
読んでても何のことかよく分からないことだらけですが、頑張って勉強しますね!

お礼日時:2011/10/20 14:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!