• ベストアンサー

strictなのにfontタグが活きてる?

今まで非推奨要素や属性を使いまくっていたのですが、それを止めようと思いスタイルシート等に修正しました。 作業中はTransitionalのまま少しずつ修正しては確認を繰り返し、最後にDOCTYPEをstrictに変更したところ、きちんと表示されたのでOKだと思っていました。 ところが、もう一度見直すと1箇所だけ<font size="+2">が残っていました。しかし、IE6はstrictのはずなのにこの箇所の文字を大きく表示しています(この場所はスタイルシートによるサイズ指定はかかっていません)。 strictでも非推奨要素や属性は有効のままなのでしょうか? ブラウザはIE6SP2、DOCTYPE宣言は <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> です。 margin:auto;でブロック要素がセンタリングされているので、標準モードで動作している、DOCTYPE宣言に間違いはないと思うのですが・・・

  • HTML
  • 回答数3
  • ありがとう数1

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

標準にそぐわない挙動が正しい挙動に修正されたりはしますが、 非推奨だからといって無効になったりはしないですね。 手作業で削除する必要があります。 修正すべき場所はHTML-Lintで探すと少しは楽かも。 http://openlab.ring.gr.jp/k16/htmllint/htmllint.html

その他の回答 (2)

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

Strictで作成するのでしたら、当然仕様書は必ず目を通すべきですよ。  あなたは!!!! 【引用】____________ここから ユーザエージェントは、過去との互換性のため、 推奨しない要素をもサポートすべきである。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[4 適合条件: 必須事項と推奨事項 (ja)( http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/conform.html#deprecated )]より と仕様書に明記してある・・・・  ということで、仕様書どおりの動作です。

  • dezimac
  • ベストアンサー率56% (2365/4208)
回答No.2

> strictでも非推奨要素や属性は有効のままなの そうです。文法上は明らかに間違っている(好ましくない)状態ですが、非推奨のタグも作用します。 あと、IEは非常に優秀で、HTMLの文法がどんなに無茶苦茶でもきちんと(?)表示してくれます。 スタイルシートの解釈も独自だし、いろいろと厄介です。確認はw3m推奨のweb帆湯順に準じた他のブラウザ(Firefox/Safari/Opera等)で行うようにした方がいいです。 > 最後にDOCTYPEをstrictに変更した スタイルシートの解釈の仕方にも影響するので、最後に変えるなんてことせずに、最初からTransitionalかstrictかに統一するとこをお勧めします。 http://allabout.co.jp/internet/hpcreate/closeup/CU20070115B/ 『Another HTML』等で文法のチェック/採点できるので活用してください 満点をとる必要はないですが、マイナスになるのは問題ありなので、重大なエラーだけは修正して下さい。 様々な有名なサイトでも満点とれるのは少ないです。 http://openlab.ring.gr.jp/k16/htmllint/htmllintl.html

参考URL:
http://openlab.ring.gr.jp/k16/htmllint/htmllintl.html

関連するQ&A

  • DOCTYPE宣言しない

    DOCTYPE宣言しないで作ったサイトはHTMLのどのバージョンに従うのでしょうか?(フレームやHTML4.01での非推奨の要素や属性は使えますか) よろしくお願いします。

    • ベストアンサー
    • HTML
  • このタグの意味なんですが・・・。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> これは何を意味するのでしょうか。 そして、スタイルシートえお使う時にこれを入れてもいいんでしょうか。

    • ベストアンサー
    • HTML
  • DOCTYPE は何で宣言すればいいのか

    DOCTYPE は何で宣言すればいいのかどうやって決めればいいですか? とりあえずネットからコピペしてきた <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> で、宣言してるのですが、果たしてこれがどういう意味かさっぱり分かりません。 とりあえず問題なくブラウザで閲覧できればいいのでしょうか?

    • ベストアンサー
    • HTML
  • DOCTYPE宣言 Strict HTML4.01

    DOCTYPE宣言でStrict(HTML4.01のルールに厳密かつ正確に従う定義)を指定しているのですが、フレームが使用できます。HTML4.01では、フレームは使用不可と見たのですが、どうなっているのでしょうか?

    • ベストアンサー
    • HTML
  • 推奨するHTMLの基本骨格

    まだ、HTMLのタグも知らない初心者です。 通常、基本骨格というとhtml・head・body要素からなりますが、推奨されているような基本骨格というのはどういうものでしょうか? 自分なりに調べてみると、 ---------------------------------------------------------------- HTML4.01Strictの場合 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="言語コード">「*1」 <head> <meta http-equiv="Content-Type" content="MIMEタイプ;charset=文字エンコード">「*2」 </head> <body> </body> </html> *1:要素内に使用している「言語コード」の言語を宣言(サーチエンジンのロボットに何語で書かれているか判別できる、文字化け防止) *2:文書を読み込むときに文書形式は「MIMEタイプ」、記述されている文字コードは「文字エンコード」という情報を、ユーザーエージェントに与える(文字化け防止) 言語コード:ja(日本語) MIMEタイプ:text/html(HTML4.01ではHTML文書としては、「text/html」以外のMIMEタイプの使用を禁止している) 文字エンコード:Shift_JIS(WindowsやMacでは「Shift_JIS」が主流) ---------------------------------------------------------------- XHTML1.0Strictの場合 <?xml version="1.0" encoding="文字エンコード" standalone="no"?>「*3」 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="言語コード" lang="言語コード">「*4」 <head> <meta http-equiv="Content-Type" content="MIMEタイプ; charset=文字エンコード" />「*5」 </head> <body> </body> </html> *3:スタンドアロン宣言はこの文書以外に参照すべきDTDがあるかどうかを指定するもので、XHTMLではどのバージョンでも「no」でよい。 *4:XHTML1.0では、XHTMLの環境に対応していないことへの配慮として、lang属性とxml:lang属性の両方を指定する。 *5:「*2」と同様。 言語コード:ja(日本語) MIMEタイプ:text/html(XHTMLの「MIMEタイプ」で推奨されているのは「application/xhtml+xml」だが、IE7でも対応し切れていないので、MIMEタイプは「text/html」にするしかない) 文字エンコード:Shift_JIS(WindowsやMacでは「Shift_JIS」が主流) ---------------------------------------------------------------- XHTML1.1の場合 <?xml version="1.0" encoding="文字エンコード" standalone="no"?>「*6」 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="言語コード">「*7」 <head> <meta http-equiv="Content-Type" content="MIMEタイプ; charset=文字エンコード" />「*8」 <title></title>「*9」 </head> <body> </body> </html> *6:「*3」と同様。 *7:lang属性はXHTML1.1では、後方互換の指定は全て非推奨のため記述できない。 *8:http-equiv属性はXHTML1.1では、HTML互換のため非推奨。 *9:head要素の中には、文書の題名を表すtitle要素が一つ現れなければならないので記述しなければならない。 言語コード:ja(日本語) MIMEタイプ:text/html(XHTMLの「MIMEタイプ」で推奨されているのは「application/xhtml+xml」だが、IE7でも対応し切れていないので、MIMEタイプは「text/html」にするしかない) 文字エンコード:Shift_JIS(WindowsやMacでは「Shift_JIS」が主流) ---------------------------------------------------------------- となりました。 また、XHTMLのMIMEタイプでXHTMLであってもブラウザが対応してないため「application/xhtml+xml」にはできないとありましたが、「application/xhtml+xml」が好ましいと書いてあるサイトもあって「text/html」とどちらが正しいのか分かりません。 また、「*8」は非推奨となっていますが、このmeta要素の部分の記述をしているところもあるので記述するのかしないのかはっきり分かりません。 この「推奨する基本骨格のHTML書式」(この言葉が妥当かは分かりませんが)に修正や追加するものがあったら教えてください。 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • <!DOCTYPE html>について

    html4.01のファイルの最初に<!DOCTYPE html>と記述している サイト・参考書を見かけるのですが、 これは、何を意味しているのでしょうか? 私は、いつも以下のように記述しています。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">(strict使用宣言) 省略した形<!DOCTYPE html>で記述すると、このHTML4.01では どのルール(Strict?Transitiona?Frameset)が適用されるのでしょうか? ご教授 よろしくお願いします。

    • ベストアンサー
    • HTML
  • html4で宣言していることになるのでしょうか?

    ソースの一番最初に <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> と書いた場合、 html4で宣言していることになるのでしょうか? html5は聞いたことが有りますが html4と言うのは存在するのでしょうか? html4.1と言うのは聞いたことがあります。

    • ベストアンサー
    • HTML
  • xhtmlのstrictモードについて

    CSSを使用しています。 今まではhtmlでコーディングしていましたが、使わない方がよいとされる要素や属性を一切しようしていないため、xhtmlのstrictモードの宣言もできると思うんですが、それには何か欠点があるのでしょうか? Transitionalモードのソースはよく見かけますが、strictはなかなか見かけないのでまだ不具合があったりするのかと疑問です。 今xhtmlのweb制作切り替えるのはどんなリスクがあるのか教えてください。お願いします。

    • ベストアンサー
    • HTML
  • IE6.0 Strictでの背景固定について

    スタイルシートについての質問です。 HTMLをドキュメントタイプStrictに設定した場合、IE6.0では background-attachment : fixed; が無効になってしまいました。(Mozilla系のブラウザでは正常に反映されています) これはIEのバグなのでしょうか?

  • DOCTYPE 宣言

    最初のHTMLの宣言の各部分の意味を教えてください。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 最初のDOCTYPEはタグだということはわかるのですが それ以外、例えばPUBLICや『-』や『//』DTD,EN、最後のURLなどの意味がわからないです。

    • ベストアンサー
    • HTML

専門家に質問してみよう