Je vois qu'il y avait des/beaucoup de gens se plaindre à ce sujet et depuis c'est une vieille question, il y a probablement beaucoup de gens le lire je me demandais si c'est toujours le cas, ou si il est en fait un standard dans la première place. Permettez-moi de nettoyer l'air. Voici les principales raisons pour le strict CSS politique de commentaire:
#1 Il n'est pas standard
Normalisé au moins depuis css 2.1, les commentaires sont UNIQUEMENT être enfermé dans /*
et */
. Alors que certains navigateurs tolérer //
, ils ne sont pas censés le faire, et sont seulement un pouce de quelqu'un en disant: "oh oui, c'est non-standard" ou "hey! C'est non-standard, le fixer!"; et puis devinez quoi, votre code css qui fonctionne, maintenant n'est pas pour des milliers de personnes (et peut-être déjà pas de travail pour des centaines d'autres). J'ajouterai que, <!--
et -->
sont autorisés, mais seulement (et je veux dire SEULEMENT) quand ils apparaissent à l'intérieur d'un document HTML, pas de dans un .css fichier source. Si votre navigateur est tellement vieux qu'il ne peut pas sauter par-dessus, <style>
tags, c'est probablement le temps pour un nouveau navigateur il y a 10 ans. Même le lynx et autres textes, les navigateurs ne savent pas lire, donc, en commentant n'est utile que dans de très isolé situation où le matériel et le logiciel sont enclavés dans leur travail actuel de l'état.
#2 Il n'est pas (très) croix-plate-forme conviviale
Le commentaire d'une ligne, qui commence n'importe où sur une ligne avec //
, est terminé par "saut de ligne" qui est/ne sont pas une croix-plate-forme normalisée personnage(s). Pire, certains peuvent avoir un caractère de saut de ligne, ou les 2... et quand ces plates-formes se mélangent, un retour à la ligne pourrait être perdu, et il y va de votre terminator...et certains ou la totalité de votre code est maintenant en commentaire qui n'était pas censé l'être, vous n'avez pas à être un génie pour savoir quelles en sont les conséquences que pourrait être, surtout si vous pouvez contrôler les fonctions de votre site, uniquement par le biais de CSS qui.
#3 La Norme EST Amical et Uniforme à Tous
L' /*
et */
délimiteurs sont TOUJOURS les mêmes caractères sur CHAQUE ordinateur, indépendamment de l'architecture, système d'exploitation, etc.
#4 retours à la ligne sont des Espaces
La dernière raison (oui il y en a un de plus), caractère de saut de ligne(s) sont prises en compte (en CSS et beaucoup d'autres langues) à utiliser un espace, et */
n'est pas une espace est-il? Et si vous pensez à ce sujet à ce stade, il devrait être assez clair, vous ne devriez PAS utiliser un espace pour mettre fin à un commentaire en particulier depuis les espaces est et ne peut être ignoré par beaucoup de HTML/CSS des analyseurs, ou reformaté sans vous même le savoir.
#5 CSS != C/C++
Maintenant, si vous êtes sur le point de voler hors de votre siège et de crier à moi au sujet de "hey mais C++...." rappelez-vous, ces compilateurs et des Ide ont des tonnes de saut de ligne de la vérification et de détection intégrés de sorte qu'ils peuvent prendre. La plupart des compilateurs ne pas reformater votre code, sauf si demandé, et de nombreuses IDEs seront généralement vous demander quel genre de retours à la ligne de votre document à l'aide si elle ne peut pas deviner tout seul. Si nous l'avons fait avec CSS des pages pour l'utilisateur final, chaque fois qu'il a été chargé, imaginez le cauchemar, il serait en essayant de se déplacer. En outre, le code C/C++ n'est pas analysée au moment de l'exécution, et est compilé, puis la plupart du temps, l'utilisateur n'est jamais que le document en question en premier lieu. Les fichiers source ne sont pas constamment vu par le monde entier sur des centaines de plates-formes et de nombreux systèmes d'exploitation, et un million de différents navigateurs soit. Les commentaires sont supprimés avant qu'ils ne jamais arriver à la fin de l'utilisateur. Source CSS vient droit au navigateur de l'utilisateur et doit être très résistant, ne sachant pas ce qui est de l'autre côté, donc, le problème, c'est qu'il doit être prêt à tout utilisateur final a ou n'a, pas quelque chose que le développeur ne ou a!
#6 C'est gênant
Non, il est très ennuyeux d'avoir à type extra - */
, mais le blâmer pour cela, va principalement aux développeurs de CSS logiciel de montage qui n'offrent pas l'auto-complétion. Si vous utilisez un éditeur spécialisé qui peut le faire, de préférence, hors de la boîte, alors vous verrez qu'il est tout aussi facile que l'utilisation de //
. Prenez l'habitude de taper /**/
puis retour arrière 2, il vous aidera à ne pas oublier et rend un peu plus facile. Mieux encore, vous pouvez définir une touche de raccourci pour juste se coucha pour vous. Windows et Linux tous les deux ont de puissants outils qui le permettent (KDE est très bon pour ça).
J'espère que cela permet à chacun de comprendre le "pourquoi" derrière le "comment", et rappelez-vous juste parce que quelque chose fonctionne pour vous, ne signifie pas qu'il est la norme, et pour résumer:
OUI C'EST une MAUVAISE PRATIQUE à utiliser, il suffit de dire NON à la double slash!!!
Si vous avez besoin d'une aide visuelle pour vous rappeler de ce fait important, il suffit de graver cette image dans votre esprit (merci à ceux d'entre vous qui n'ont rien de mieux à faire, mais faire des photos comme ça):
![no double slash]()
PS: Si vous voulez vraiment quelque chose à se plaindre de ceux qui font le/la rupture normes CSS (w3c, coude) quelqu'un de commencer une discussion sur la façon inutilement long et le mal "!important" mot-clé est! Mais ce n'est pas une partie de cette question si je ne vais pas aller en elle.
Références
-
w3c: CSS 2.1 projet de travail: caractères de commentaire.
-
w3c: la syntaxe CSS du module niveau 3: diagrammes de chemin de fer de l'analyseur à caractère interprétations.
-
donc: Différents articles avec pratiquement le même sujet que celui-ci.
-
w3schools: CSS 3 syntaxe standard (qui à son tour références w3c).
-
sitepoint: la syntaxe CSS annotation sur "ne pas utiliser la double barre oblique".
-
mozilla|mdn: détendue css3 traitement permet une double barre oblique dans les fichiers d'entrée.