メッセージの編集
お名前
本文
▼Joeさま あさまのご説明のように、<!--と-->は注釈宣言と呼び、マーク宣言の一種であってタグではありませんので、これを「タグ」などと呼ぶと意味が通じません。 失礼して補足しますが、「コメントアウト」も間違いにはなりませんが、正しい呼び方ではありません。 プログラム言語上で使われることはありますが、HTML・XHTML・CSSは、プログラム言語とは違います。SGMLの仕様にはコメントアウトという呼び名はありません。注釈宣言、あるいはコメント宣言と解説があります。<! がマーク宣言開始区切り子。最初の--がコメント開始区切り子。後の--がコメント終了区切り子。最後の > がマーク宣言終了区切り子です。 「<!-- 文字など -->は、「文字など」の部分を閲覧者から隠してメモしておくためのタグです。それが原因で<style>内が全て無効化されて、他のタグも反映されないのでは?」 について。 ナノさまの仕様で、style要素の内容で<!--CSS-->の注釈宣言(コメント宣言)を使いCSSが適用されないとしたら、「XHTMLに変換する設定」と「DOCTYPE入力欄」を空にしたままのデフォルトの場合に、docomo携帯ブラウザだけ対応するCSSが非表示になります。それ以外のブラウザはCSSが対応していれば問題なく適用されます。 少し誤解されてるようですから、失礼して説明させていただきます。 ファイル(Webページ)内は#PCDATAというデータ形式になっています。 どういうことかというと、文字参照は展開され対応する文字に置き換えられ、要素の内容は構文解析され展開します。 例えば、<em style="color:#ff0000;">文字</em>をマークアップすると文字は赤くなり、& と書くと & に置き換えられます。ファイル内に<!--Comment-->の注釈宣言を記述すれば、注釈宣言の内容Commentは全ての閲覧者さまに見えなくなります。 #PCDATAの内容データは、上記の説明のようにマークはマークとして解釈されますから、 < はタグの開始区切り子と見なされますね。それを利用し、ソース内に<!--解説 --> を書けば注釈宣言とみなされ、その中身はコメントとして無視されブラウザ上で非表示にできるわけです。 ▼しかし、ここで勘違いしないように注意することは、style要素とscript要素の内容データが、HTML と XHTMLでは違ってくることです。 ※ HTMLのstyle要素とscript要素の場合 style要素の内容データ(CSS)はCDATAになります。 CDATA (文字データ)の意味は、読んで字のごとく文字データを表します。上記の説明の #PCDATA と違う点は、マークが解釈されない点です。 & と書けば、それはそのまま & という文字列として扱われます。 マークアップの記号はそのまま文字として扱われる。< や > などは単なる文字と見なされます。<!-- --> を書いても、中身は無視されません。 つまり、style要素の内容で<!--CSSの内容-->というように注釈宣言を記述しても、CSS対応ブラウザでは注釈宣言は単なる文字として扱われるので、CSSは無視(非表示)されないで適用されます。 一方で、CSSに非対応なブラウザは注釈宣言が解釈されて非表示になりますから、注釈宣言を使えばCSSの英字文字列がブラウザ上に露出しないようにできるわけです。 ナノさまの仕様でいうと、「XHTMLに変換しない設定」にした場合は、CSSを解釈しなくなるdocomoブラウザ1,0向けに注釈宣言は必要になります。注釈宣言を使わないと、docomoブラウザ1,0から閲覧するとCSSの英字文字列がブラウザ上に露出してしまいます。 ※ XHTML(XML)のstyle要素とscript要素の場合 script要素やstyle要素の内容データは、HTMLとは違い #PCDATAになり、マークアップは構文解析されますから、style要素の内容に注釈宣言<!--CSS-->を使うと、注釈宣言は解釈されCSS対応ブラウザでもCSSは非表示になってしまいます。 つまり、ナノさまのデフォルト「XHTMLに変換する設定」で注釈宣言をstyle要素内容に使うと、docomoブラウザ1.0は対応するリンク擬似クラスのCSSが適用されなくなります。 ちなみに、docomoブラウザ2.0以降は「XHTMLに変換する・しない」設定は関係なく、DOCTYPE入力欄が空にしたままのデフォルト利用なら、注釈宣言は使えません。使うとCSSが非表示になる仕様です。 あとXHTMLの場合、注釈宣言以外にCSS構文内で&<--の文字列が含めませんから、含むCSSの場合だけCDATAセクションを/*と*/のコメントで囲み指定します。ですが、CSSの場合、URIに&が含まれてる画像以外はCDATAセクションが必要になることはあまりないです。 以上のように、Web仕様とナノさまの仕様と各ブラウザの仕様を照らし併せてページ作成をしなければなりません。 ▼まとめると、ナノさまでCSS対応ブラウザと非対応ブラウザ両方で問題がないようにするには、「XHTMLに変換する設定」なら注釈宣言は使わない。 「XHTMLに変換しない設定」ならDOCTYPE入力欄にHTMLの文書型宣言を記述して、注釈宣言を使うようにします。 長くなりすみません。
編集パス
編集
記事削除
- ナノ -