selon le titre; est-il possible d'avoir des commentaires imbriqués dans du 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, est-ce que quelqu'un sait comment je pourrais faire fonctionner les commentaires imbriqués?
Réponses:
Lorsque vous imbriquez un commentaire, remplacez "-" par "- -". Lorsque vous désinstallez, inversez la procédure. Ce n'est pas le
<!--
qui est interdit mais le--
.Exemple:
la source
--
par- -
pour le commentaire interne (imbriqué) .TL; DR : Malheureusement, non, ce n'est pas possible (et ne le sera jamais).
Réponse courte:
Un commentaire HTML n'est pas tout à fait ce que beaucoup pensent que c'est. HTML est une forme de SGML, dans laquelle les commentaires sont délimités par des paires de doubles tirets ( --… --).
Ainsi, toute paire de doubles tirets à l'intérieur d'une paire de crochets angulaires avec un point d'exclamation après le crochet ouvrant ( <! --⋯ -- >) est un commentaire. La spécification le dit mieux que moi: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4
C'est pourquoi des commentaires comme celui-ci (que nous avons tous probablement fait une fois ou une autre) sont une mauvaise idée:
Vérité: je suis trop paresseux pour vous dire combien de commentaires sont représentés par la pollution des balises ci-dessus, mais c'est au moins 10.
Bien sûr, ce n'est pas tout à fait aussi simple que cela, en raison des différences dans la façon dont chacun choisit navigateur pour 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
Réponse longue: pourquoi nous nous trompons
La plupart d'entre nous qui avons grandi avec HTML (sans fouiller 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élimitez une déclaration SGML dans votre document HTML, comme la déclaration DOCTYPE que nous avons tous vue en haut de nos pages. Dans une déclaration SGML, les commentaires sont délimités par des doubles tirets. Ainsi, le commentaire HTML
dont la plupart d' entre nous croiraient est analysé comme celui - ci <!-- this is a comment -->est en fait analysé comme ceci:
<!-- this is a comment -->. C'est une déclaration SGML qui est vide à l'exception d'un commentaire.
Le HTML étant une forme de SGML, ce «commentaire dans une déclaration» fonctionne comme un commentaire HTML.
Par intérêt, voici un morceau de SGML pur qui montre les commentaires fonctionnant comme prévu dans SGML: cette définition de liste d'attributs contient un commentaire sur chaque ligne:
la source
Cela ne peut pas être fait.
-->
mettra toujours fin à un commentaire HTML existant.la source
Si vous êtes vraiment coincé avec un morceau de HTML - pré-rendu à une source incontrôlable - qui contient des commentaires, et que vous devez vous assurer que rien n'est rendu sur votre page, vous pouvez toujours l'envelopper avec une
script
balise comme ci-dessous, la seule chose est que vous ne pouvez pas commenter lesscript
balises de cette façon.Si vous avez besoin de commenter des
script
balises, vous pouvez utiliser untextarea
comme wrapper à la place, bien sûr, en procédant de cette façon, vous ne pouvez pas commenter lestextarea
balises.la source
/* */
Utilisez une
template
balise. Le moyen le plus rapide de bloquer tous les commentaires et autres html de s'afficher.la source
<template>
élément ne peut pas être ajouté n'importe où. Son élément parent doit être l'<body>
élément ou quelques autres .Certains éditeurs ont des commandes de commentaire / décommentation qui peuvent gérer automatiquement les commentaires existants dans un bloc de texte. Visual Studio, par exemple, fait cela lorsque vous appuyez sur Ctrl + KC et Ctrl + KU.
la source
Un complément VS qui simule les commentaires imbriqués se convertit automatiquement
<!--...-->
en<!~~...~~>
commentaires sur toute la section. Il vous permet de l'activer et de le désactiver.commentaires imbriqués
la source
Je pense que ce n'est pas autorisé, mais pour autant que je sache, cela fonctionne dans la plupart des principaux navigateurs, sauf dans Firefox.
la source
essayez d'utiliser ceci
c'est le début du commentaire
-->
fin des commentaires.la source
Essaye ça
la source
<comment>
mot clé en HTML