![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.3
- 回答日時:
strictで使えない要素や属性を使っていないなら、文書型宣言を変更すること自体が特に問題となることはありません。
注意すべきはXHTMLへの移行についてです。
思い当たるところで違いを列挙すると、
・同じ要素でも書き方が違うものがある。
例 <br> ⇒ <br />
・body直下にテキストやインライン要素を書けない。(strictの場合のみだったかも)
・要素名、属性名は全て小文字、属性値は大文字小文字の区別がある。
・コメントの扱いが異なる。⇒コメント内でハイフンの連続は書けない。スタイル要素の中でコメントを書くと本当にコメントアウトされてブラウザに解釈されない(外部ファイルにしてあれば大丈夫)などなど。
・空要素が良くない。⇒<div></div>とかいくない。
というような感じです。詳細違ってるかもで恐縮ですが、気になる項目はネット検索して更に詳しいサイトを参照してください。
★★★
最も注意すべき点は、一行目に必ず文書型宣言を書くことです。
★★★
XHTMLはHTMLであると同時にXMLでもあるので、本当は一行目にXML宣言を書かないといけないんですね。
例 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
なのですが、IE6は一行目が<!DOCTYPE~>以外だと互換モードでレンダリングしようとするので、CSSの解釈のされ方が変わってしまうのです。
幸い(?)XML1.0では文頭のXML宣言は、強く求められるものの必須ではない事になっていますので、省略する事で回避できます。
また、XHTML1.1を使う場合は、<meta http-equiv~>はそもそも必要がないので使うべきではないとされています。が、一行目のXML宣言を省略した場合、文字コードをブラウザに伝達する場所がないので使った方がいいです。で、使っても大丈夫なことになっています。
更に、メディアタイプですが、XHTML1.1は何も書かなくてもapplication/xml+xhtmlで扱われる事になっているのですが、どうもIE6等がこれを理解しないようなので、text/htmlで指定せざるを得ません。これも、そう指定してもいいことにはなってます。
そんなわけで、現状ではIE6に対応させることを考えると、事実上XMLとしてはほとんど機能しないXHTMLになってしまいます。
ただ、XMLとして不満足なXHTMLでも、将来性を見越して作っておいて、IEのバージョンアップで対応されたら若干の変更(meta http-equivの削除とxml宣言の追加)で対応ができますし、text/htmlとしてだけ見れば、特に支障はないのでリスクというほどではないかと思います。
参考に、ちょっと恥ずかしいですけど私が今使ってるXHTML1.1のテンプレートを書いておきます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript; charset=utf-8" />
<meta name="Author" content="pingu98" />
<title>xxx</title>
<!--
この文書をapplication/xhtml+xmlとして扱うためには以下の操作が必要です。
1.先頭行に<?xml version="1.0" encoding="UTF-8"?>を追加。
2.LINE4~6の<meta http-equiv~/>を削除。
-->
</head>
<body>
</body>
</html>
ものすごく詳細な回答ありがとうございます。
テンプレートも参考にさせていただきます。
確かにxml宣言を先頭にもってくるとIE6が互換モードになりますね。何気に一番シェアの多いIEがwebスタンダード上の障害のような気がします。
いずれはstrictを当然のように使われる日が来ると思うのでこれからもstrictを意識して制作しようと思います。ありがとうございます。
No.2
- 回答日時:
欠点というかなんというか、
strict は厳しいというか
作成者が本当にその知識を持っているか。
絶対の自信があれば strict 宣言すればよいが
読み手には宣言の違いは関係ないし・・・。
で、リスクとしては、より知識が必要になるというだけですかねぇ~
Transitional だとあまり詳しい知識はなくても済むし・・・。
よって、適切な知識を持ってなら strict をお勧めします。
私は使い分けをして、IE拡張機能を使いたいとか
理由を持って Transitional 互換モードを使ったり
strict 標準モードにしたり努力しているつもりです・・・。
で、その違いは結構面倒だったりします・・・。
ご回答ありがとうございます。
一つ気になったのですが、Transitional 互換モードとはloose.dtdが入っていない状態ですよね?
使ったことがないんですが、標準モードと比べてレンダリングに大きな差はあるんでしょうか?
No.1
- 回答日時:
Strict な HTML に関しては欠点やリスクといったものはありません。
むしろ HTML ではできないはずのことができてしまう Transitional な HTML はさっさと捨て去るべきなのです。Strict をなかなか見かけないというのは、あなたと同じようになんとなく Strict への移行をためらっている人が多いからでしょう。Strict に移行してもあまり実質的なメリットがない現状では仕方ないと思います。
なお、Transitional から Strict への移行はいわば HTML における「原点回帰」のようなものです。HTML に不必要な機能がどんどん追加されてきて複雑になったので、本来の分かりやすい HTML に戻ろうということです。別に新しい機能が追加されるというわけではないので、不具合などが起こることはありえません。
原点回帰。いい言葉ですね。
もっと勉強してstrictを当たり前のように使えるようになりたいと思います。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- ラジコン・ミニ四駆 ★フタバの4PMプロポの機能についての質問です♪ 1 2022/11/09 16:59
- 格安スマホ・SIMフリースマホ 【楽天モバイル】楽天モバイルはパケット通信料が減らない低速モードに切り替えられる公式 3 2022/12/21 07:48
- 一眼レフカメラ SFP モジュールについて 1 2023/06/04 14:54
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- docomo(ドコモ) らくらくスマホのF-52Bのかんたん標準インターネットブラウザってアプリ設定や本体設定によって普通の 0 2023/01/14 15:39
- HTML・CSS Chrome のキャッシュについて 3 2022/05/26 07:50
- Android(アンドロイド) らくらくスマホのF-52Bのかんたん標準インターネットブラウザってアプリ設定や本体設定によって普通の 3 2023/01/14 18:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
css ,videotタグ。ホームページ...
-
POSTしたデータの文字コードがu...
-
文字化けを故意に表示したい
-
ページを開いたときにファイル...
-
borderでa:hover下線表示させる...
-
ページ全体を中央に配置したい...
-
リンクボタンにgifアニメを使え...
-
IEのみ文字化け
-
自分で<head>内をかけない場合...
-
わざと文字化けさせるには
-
HTMLからフォルダを開きたい
-
htmlの中にexcelが埋め込むには...
-
Dreamweaverでページ全体が文字...
-
iPadの標準ブラウザでローカルH...
-
form action="#"
-
一つのリンクに複数のURLを指定
-
社内で利用するWebサイトを立ち...
-
googleドライブで、PDFファイル...
-
どのページもすべて同じURLなの...
-
メール本文に変な文字が
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
css ,videotタグ。ホームページ...
-
POSTしたデータの文字コードがu...
-
body内にmetaタグを記述は問題...
-
根号の書き方について
-
文字化けを故意に表示したい
-
HTMLファイルのインクルードで...
-
先日ウェブデザイン技能検定三...
-
iframe内の表示を常に最新にしたい
-
borderでa:hover下線表示させる...
-
指定した演算を実施の結果を表...
-
ページ全体を中央に配置したい...
-
safariだけcssが反映されない
-
わざと文字化けさせるには
-
WEBページがIEだけ文字化けして...
-
html で 変数を定義できますか?
-
<!DOCTYPE html>あってますか?...
-
COLDFUSIONの文字化け
-
textareaの一行の文字数制御
-
Duolingo のソースコードの名前...
-
Aタグのmailtoでメッセージ作成...
おすすめ情報