16

ゆっくりしてください。私はちょうどHTMLを学んでいます。

http://www.w3.org/TR/html-markup/syntax.html#commentsや、このhttp://www.w3schools.com/tags/tag_comment.aspなど、私が見た他の多くのサイトによると

彼らは、HTML コメントは と次のダッシュの<!-- text -->間にスペースがないと言います。!

しかし、以下に示すように、<! -- test --> 実際に無視されるのは、私が書いたときだけです。<!と の間に追加されたスペースに注意してください --

ここにHTMLコードがあります

<!DOCTYPE HTML>
<html>
    <head>
     <style type="text/css">   
<!-- td {border: 1px solid gray;} -->
    </style>
</head>
<body>

<table>
  <tr>   <td>      test   </td>  </tr>
</table>

</body>
</html>

実行する前に、テーブルに境界線を設定する必要がありますか?

text/css の内容が本当にコメントアウトされている場合、テーブルに境界線はありませんよね? しかし、そうです。Linux mint 14、およびfirefox 18.0のchromeバージョン24.0.1312.52でこれを試しました

行を次のように変更すると

 <! -- td {border: 1px solid gray;} -->

余分なスペースに注目してください。次に、期待どおりにテーブルが境界線なしで表示されます。実際に行全体を削除すると、同じことが起こります。

<!DOCTYPE HTML>
<html>
    <head>
     <style type="text/css">   
     </style>
</head>
<body>

<table>
  <tr>   <td>      test   </td>  </tr>
</table>

</body>
</html>

質問は: コメントですか、 <!-- text -->それともそれ<! -- text -->ですか?


他の人が指摘したように、IDLE は探している 3 つのドットを表示しません。ただし、それらが必要な場合は、ターミナルに「python」と入力して ENTER を押すことで、いつでもターミナルから python を実行できます。ターミナルから python を終了するには、'exit()' または 'quit()' のいずれかを入力してから ENTER を押します。

4

3 に答える 3

21

文字列<! --は何もコメントアウトしません。代わりに、CSSでは構文エラーであり、CSSエラー処理ルールは、この場合、すべてのスタイルシートが無視されることを意味します。

文字列<!--もコメントを開始しませんが、CSSコメントルールにより-->、特定のコンテキストでは、文字列(および)は許可され、無視(スキップ)されます。したがって、スタイルシート

<!-- td {border: 1px solid gray;} -->

として取られます

{border: 1px solid gray;}

これは、 W3CCSSバリデーターを使用して確認できます。最初のケースでは、スペースを使用するとエラーが報告され、有効なCSSルールは報告されません。2番目のケースでは、エラーは報告されず、ルールは有効として表示されます。

CSSでは、コメントは常に。で始まり、/*で終わり*/ます。

<!--と の特別なルールの理由 -->は、非常に昔(そして、Netscape 1がまだ使用されていた時期について話している)、一部のブラウザはstyle要素をまったく認識しなかったためです。<style>これは、タグとタグを無視し、</style>通常のHTMLコンテンツであるかのようにそれらの間のコンテンツを処理したことを意味します。これにより、そのようなブラウザのページ内にスタイルシートが表示されていたはずです。これを防ぐために、「スタイルシートを非表示にする」ために、スタイルシートはHTMLコメント区切り文字で囲まれていました。古いブラウザは、style要素のコンテンツを単に無視していました。ただし、区切り文字を許可するには、CSS仕様に特別なルールを追加する必要がありました。

これは古代の歴史ですが、古い習慣が普及しており、その意味を理解せずに他の人のコードからコピーされています。長い間「スタイルシートを非表示にする」理由はなく、このトリックは潜在的なリスクになっています(XHTMLルールへの干渉の可能性、または人々の混乱や入力ミスによる)。

したがって、CSSでは絶対に<!--(または)を使用しないでください。<! --

于 2013-01-19T04:56:06.760 に答える
1

<!-- -->互換性のために CSS スタイル ブロックを使用している人を見てきました。

この場合、 CSSをサポートしていない古いブラウザーは、エラーを避けるためにコメント アウトします。

<style type="text/css">   
<!-- td {border: 1px solid gray;} -->
</style>

として解釈されます

<style type="text/css">
</style>

CSSをサポートしていない古いブラウザでは。このようにして、これらのブラウザは潜在的なエラーを回避します。

ただし、最新のブラウザーでは、<!-- -->CSS スタイル ブロック内は無視されます。

<style type="text/css">   
<!-- td {border: 1px solid gray;} -->
</style>

として解釈されます

<style type="text/css">
td {border: 1px solid gray;}
</style>

CSS をサポートするブラウザーで。

于 2016-03-09T13:26:39.380 に答える