matsui175 2017-11-11 11:29:41
初めて投稿します。
WEBクリエイターの講座をうけております。
問題57-idの解答について質問があります。
titleタグとCSSタグの後に、コメントアウトの記載があります。
<!ーーと
ーー>!の部分です。
コメントアウトの命令ができていると
コメント内が無効になるはずですが、
なぜ効いているのでしょうか?
教えていただけるととても助かります。
よろしくお願いいいたします。
ご質問ありがとうございます。
まず結論から申し上げますと、
・CSSに対応しているウェブブラウザは、styleタグの中身をCSSとして読み込みます。
・その中にHTMLのコメントタグがあったとしても、CSSでは意味がないのでそのまま実行されます。
http://www.tg.rim.or.jp/~hexane/ach/fscs/fscs07.htm
では、なぜわざわざコメントでstyleタグの中身を囲むのでしょう?
HTMLファイル内にCSSを直接書いてしまうと、携帯電話用などの古いブラウザが誤動作するという問題が発生しました。
当時の携帯電話に搭載されているウェブブラウザはCSSに対応していませんでした。
そのためにstyleタグの意味がわからず、CSSの記述をHTMLとして解釈しようとします。
しかしHTMLではないのでCSSの部分がそのまま文字列として扱われてしまい、ページの上部にずらずらと表示されてしまいます。
いきなりよくわからない言語が表示されてしまい、訪問者を驚かせてしまったりレイアウトが崩れてしまいました。
この問題を回避するために、HTML内にstyleタグを使ってCSSを書く際には、かならずHTMLのコメント扱い(で囲む)にするというルールが決まりました。
これならCSSに対応していないウェブブラウザでも、CSS部分はコメント扱いになるので表示されないようになりました。
これはHTML4.0でのルールです。
その後に開発されたXHTMLやHTML5では、このような書き方は推奨されていません。
制作スタッフ
参考になった:6人
jimukyoku 2017-11-13 21:36:41
制作スタッフ様
ありがとうございます。
html4.0のルールで
推奨されていないということは、他の場ではあまり使用しないほうがいいですね。
となると、この演習ではhtml4.0を使用されているということになりますか?
場違いな質問であれば、申し訳ありません。
matsui175 2017-12-14 11:24:17