105 votes

Sont imbriqués les commentaires HTML possible?

comme l'indique le titre; est-il possible d'avoir des commentaires incorporés dans le code HTML valide? voir l'exemple ci-dessous...

<p>some text</p>

  <!-- comment 1

    <p>commented out html</p>

    <!-- comment 2

      // are nested html comment allowed?

    end of comment 2 -->

    <p>more commented out html</p>

  end of comment 1 -->

<p>some more text</p>

Il semble que non, quelqu'un sait comment je pourrais obtenir des commentaires incorporés au travail?

Merci à l'avance.

115voto

Aaron Digulla Points 143830

Lorsque vous imbriquez un commentaire, remplacer"--"" - -". Lorsqu'un nid, inverser la procédure. Ce n'est pas l' <!-- qui est interdit, mais l' --.

104voto

dland Points 431

Malheureusement, non, il n'est pas possible.

Techniquement, toute occurrence d'un double tiret ("--") termine le commentaire. (La spec dit-il mieux que je peux: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4)

C'est pourquoi les commentaires de ce genre (que nous avons tous probablement fait à un moment ou à un autre) sont une mauvaise idée:

<!-- ------------------ L'EN-TÊTE COMMENCE ICI -------------------- -->

Bien sûr, ce n'est pas tout à fait aussi simple que cela, en raison des différences dans la façon dont chaque navigateur choisit d'interpréter les spécifications.

Voici un excellent article qui l'explique:

    http://weblog.200ok.com.au/2008/01/dashing-into-trouble-why-html-comments.html

Pourquoi on se trompe

La plupart d'entre nous qui ont grandi avec le HTML (sans entrer dans le SGML qui le sous-tend)) en sont venus à croire que la chaîne <!-- commence un commentaire, et la chaîne --> se termine un commentaire.

En fait, <! et > délimiter une déclaration SGML dans votre document HTML, tels que la déclaration du DOCTYPE nous avons tous vu en haut de nos pages. Dans une déclaration SGML, les commentaires sont délimités par un double tiret. Ainsi, le commentaire HTML

<!-- ceci est un commentaire -->

qui la plupart d'entre nous croyons est analysée comme ceci <!-- ceci est un commentaire --> est réellement analysée comme ceci:
<!-- ceci est un commentaire -->. C'est une déclaration SGML qui est vide à l'exception d'un commentaire.

Parce que le HTML est une forme de SGML, ce "commentaire-dans-un-déclaration" fonctionne comme un commentaire HTML.

De l'intérêt, ici, un morceau de pure SGML qui montre les commentaires de fonctionnement ils étaient prévus dans le SGML: cet attribut définition de la liste contient un commentaire sur chaque ligne:

<!ATTLIST LIEN
 %attrs; -- %coreattrs, %i18n, %des événements --
 charset %Charset; #IMPLICITE -- encodage de la ressource liée --
 href %URI; #IMPLICITE -- URI pour le lien ressource --
 hreflang %LanguageCode; #IMPLICITE -- code de langue --
 tapez %ContentType; #IMPLICITE -- consultatif type de contenu:
 rel %LinkTypes; #IMPLICITE -- en avant des types de lien --
 rev %LinkTypes; #IMPLICITE -- reverse types de lien --
 les médias %MediaDesc; #IMPLICITE -- pour le rendu sur ces médias --
>

8voto

Sergio Points 5161

Il ne peut pas être fait... --> toujours à la fin de html existants commentaire

1voto

0xA3 Points 73439

Certains éditeurs ont commenter/décommenter les commandes qui peut gérer automatiquement les commentaires existants dans un bloc de texte. Visual Studio par exemple, est en train de faire que lorsque vous appuyez sur Ctrl+KC et Ctrl+KU.

-1voto

TheHippo Points 11900

Je pense qu'il n'est pas permis, mais pour autant que je sais que ça fonctionne dans la plupart des grands navigateurs, sauf dans Firefox.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X