HTMLタグの使い方に注意!センセーショナルな事実が明らかに!

このQ&Aのポイント
  • HTMLの<font>タグや<marquee>タグは使える?驚きの真相とは!
  • HTMLタグの使い方に気を付けよう!特に<font>や<marquee>は注意が必要!
  • HTML言語の最新ルールによれば、<font>タグや<marquee>タグは使ってはいけない?
回答を見る
  • ベストアンサー

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

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

  • HTML
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
noname#158634
noname#158634
回答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
質問者

お礼

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

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

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
質問者

お礼

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

関連するQ&A

  • HTML4.01で使用しないタグ

    HTML4.01ではレイアウトにTableタグを使わないように推奨されていると聞いたことがあるのですが、この点どうなのでしょうか? CSSでTableタグの代わりに使うものがあるのでしょうか? またhtmlで推奨されていないタグが他にあるのか?知りたいです。

    • ベストアンサー
    • HTML
  • 携帯向けHTMLメールで背景色をつけるには?

    携帯向けHTMLメールをPHPで送信しています。 部分的に、背景をつけたいのですができないのでしょうか?できる方法がありましたらお教えください。 試してみたこと (1) <table bgcolor="#F9D3E4"><tr><td><marquee>****</marquee></td></td></table> (2) <marquee bgcolor="#F9D3E4">****</marquee> (3) <table><tr><td bgcolor="#F9D3E4"><marquee>****</marquee></td></td></table> 要望としてはマーキーに背景色がつけばOKです。 かなり試したり調べたりしたのですが、どうも携帯(FOMA)では背景がつきません。 ちなみにbodyタグの背景は簡単に確認できました。 よい方法がありましたらお願いいたします。

  • Marqueeタグについて

    テーブル内で特定のセルのみ文字列がスクロールする画面を製造しています。 スクロールにはMarqueeタグを使用し、 初期表示では文字列が静止 マウスを乗せると文字列がスクロール マウスを外すと文字列が静止 という動きを行いたいのですが、 初期表示はデフォルトで文字列がスクロールしてしまいます。 初期表示で文字列の静止は出来ないものなんでしょうか? <table> <tr> <td height="20" width="100">AAA</td> <td height="20" width="100"> <Marquee id="mar1" width="100" onmouseover=this.start() onmouseout=this.stop()>BBB</Marquee></td> <td height="20" width="100">CCC</td> </tr> </table>

  • Tableタグで作成した表の縮小

    HTMLのTableタグで作成した横長の表があるのですが、画面を横にスクロールしなければならず、見づらいので、全体を縮小したいのですが、何か方法はあるでしょうか? 現在思いつくのが、画像にするぐらいです。 他にありましたら、教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • tableタグによるエラー

    モバイルサイトの制作の際に tableタグを使用した箇所で ページスクロールをすると 意図しない場所に飛ぶことがあります。 例えばページ下部にtableタグを記述し 実機で最下部から上部へ ページスクロールするとtableタグの箇所で 最上部に飛んでしまうことがありました。 記述ミスではなくtableタグを使わないと 直りました。 モバイルサイトの制作の際、 複雑なレイアウトにする場合、tableタグが必要になります。 これはどのようなことが原因なのでしょうか。

  • タグに詳しい方、助けて下さい!

    以下のようにタグを打って携帯サイト作ろうとしているのですが、携帯から確認すると途中からテーブルが左側に寄って見えるようになりました。(PCからだとちゃんと真ん中になってます) タグを引っ張ってきただけで知識はなく、どこがどうおかしいのかわかりません。 わかる人いたら教えて下さい…お願いします! <center><Table align="center" Border="0" Width="200" Valign="middle"> <Tr> <Td ColSpan="2" bgcolor="#FF69B4" Align="Center"><B><Font Color="#ffff33">★</Font><Font Color="#FFffff">更新・12/**</Font><Font Color="#ffff33">★</Font></B><Td></Tr><Tr><Td Width="600">※トップイラスト挿入※</Td><Td Width="20"><Font Color="#FF69B4"><Font Color="#ffff33">★</Font><br>*↓コンテンツ5行くらい<br><Font Color="#ffff33">★</Font></Font></Tr> <Tr><Td ColSpan="2" bgcolor="#FF69B4"><Marquee><Font Color="#ffffff">12/** ****</Font></Marquee></Td></Tr></Table></center>

  • 正しいHTMLを教えてください

    下記の場合HTML確認ツールで「""」 の終了タグがありません。 と、表示されます。 <TABLE border="0"> <TBODY> <TR><TD><A href="mailto:○○○@△△△.ocn.ne.jp"><p><FONT color="#0000ff" size="+1">場所に合わせた商品構成が出来ますので、こちらからご相談ください。</font></p></td></tr></TBODY></TABLE> 正しいHTMLを教えてください。

  • 携帯サイトのMARQUEEタグで流している文字が途中で切れるのですが

    今HPビルダー11で携帯サイトを作っています。 サーバーにアップして、自分のdocomoの携帯で確認しながら修正しています。 そこで質問なのですが、 テーブルの中にMARQUEEタグで文字を流すようにしたのですが、 43文字のうち、32文字までしか表示されず、33文字以降が切れてしまいます。 タグは以下の通りです。 どうしたら43文字全部を表示できるようになるのでしょうか? よろしくお願い致します。 <TABLE cellspacing="0" cellpadding="0"> <TBODY> <TR> <TD bgcolor="#CC00FF" width="470"><FONT size="-1" color="#ffffff"> *Welcome!*</FONT></TD> </TR> <TR> <TD bgcolor="#FFCCFF" width="470"><FONT size="-1"><MARQUEE scrollamount="3" width="470">ああああああああああああああああああああああああああああああああいいいいいいいいいいいMARQUEE> </FONT></TD> </TR> </TBODY> </TABLE>

    • ベストアンサー
    • HTML
  • XOOPSのHTMLタグ記入について

    XOOPS cube2.0を使用しています。 FAQモジュールで、質問/回答の項目を増やし、回答欄でHTMLタグを使用しましたが、どうも表示が不正です。 具体的には、TABLEタグなのですが、TABLEタグを使用してページを表示させた場合、かなり大きな空白が表の上にできてしまいます。 TABLEタグを消すとそういったことがなくなるので、TABLEタグが問題なのか、どうなのか。 ソースを表示させようと右クリックしても表示できないので困ってます。 何かよい助言をいただけないでしょうか。 ●必要事項を入力します。 <TABLE BORDER="1" WIDTH="100%" HEIGHT="100%" CELLSPACING="1" CELLPADDING="1"> <TR> <TD>1-1</TD> <TD>1-2</TD> <TD>1-3</TD> </TR> <TR> <TD>2-1</TD> <TD>2-2</TD> <TD>2-3</TD> </TR> </TABLE> としたときに、●必要事項を入力します。のすぐ下に何行もの空白が表示されます…

  • HTMLのtableタグでセル毎の幅率を指定したい

    HTMLにtableタグがあると思いますが、 例えば <table> <tr> <td></td> <td></td> </tr> </table> のように左右にセルがあるだけの単純な表を作ったとします。 この場合100ピクセルの幅にして左が70ピクセル、右が30ピクセルみたいに 個々の列で幅の比率を指定したりはできるのでしょうか?

    • ベストアンサー
    • HTML