Czy istnieje ku temu dobry powód? Kulawy, ale zastanawiałem się, czy istnieje jakiś powód.Dlaczego/**/comments działają w arkuszach stylów, ale // komentarze nie?
Odpowiedz
Składnia komentarzy w CSS jest: /* comment here */
//
nie jest prawidłową składnię. Domyślam się, że pozwala to CSS działać poprawnie po usunięciu ze znaków whitespace i new line podczas minification.
+1 za wzmiankę o minifikacji – CaffGeek
@Daniel To wydaje się być naprawdę dobrym powodem dla powyższej odpowiedzi @ jbail. – leeand00
Poczekaj chwilę ... możesz zminimalizować Javascript i obsługuje // metodę komentowania ... * rysy głowy * .. js minifiery usuwają komentarze ... – leeand00
Ponieważ język CSS jest tak zdefiniowany.
Różne języki mają różne specyfikacje z różnymi funkcjami. W another language możesz mieć komentarze, które zaczynają się od # zamiast //.
Zobacz specification.
4.1.9 Komentarze
Komentarze zaczynają się od znaków
/*
i kończą znakami*/
. Mogą występować w dowolnym miejscu między tokenami , a ich zawartość nie ma wpływu na renderowanie w postaci . Komentarze nie mogą być zagnieżdżone.CSS pozwala także komentarz SGML ograniczniki (
<!--
i-->
) w niektórych miejscach zdefiniowanych przez gramatykę, ale nie ograniczają komentarzy CSS. Są one dozwolone, aby reguły stylu pojawiające się w źródłowym dokumencie HTML (w elemencie STYLE) mogły zostać ukryte przed agentami użytkownika w wersji 3.2. Więcej informacji można znaleźć w specyfikacji HTML 4 ([HTML4]) dla .
Uwaga: Nie ma wzmianki o komentarzach rozpoczynających się od 2 ukośników i kończących się na linii podziału. Dlatego nie jest obsługiwany.
Ponieważ specification umożliwia/**/ale nie // :)
poważnie, CSS traktuje znaki nowej linii jak wszystkich innych spacji, a nie byłby w stanie określić koniec komentarza bez kończącym ogranicznik.
+1 za wzmiankę o racjonalnym uzasadnieniu.Nigdy nie uważałem, że komentarz "//" w C++ był wyjątkiem w stosunku do "białej neutralności". – egrunin
To dobra odpowiedź. – leeand00
Tagalong: '//' komentarze w C poza funkcjami mogą powodować poważne komplikacje rzygania w zależności od kompilatora. –
Ponieważ styl /* */
jest zdefiniowany dla komentarzy w CSS.
Istnieje wiele innych sposobów, aby pisać komentarze w innych środowiskach, które nie pracują w CSS, jak:
//
<!-- -->
--
'
REM
{ }
;
#
+1 za złośliwą odpowiedź;) – Nate
@Nate: Po prostu próbuję poszerzyć perspektywę ... @downvoter: Jeśli nie wyjaśnisz, co ci się nie podoba, to zupełnie bezsensowne. – Guffa
+1, jeden z wielu powodów, dla których uważam, że down-votes powinien być zarówno własnością *, jak i * wytłumaczony * (nie dbam * - w dużym stopniu - jeśli ktoś zignoruje moje odpowiedzi/pytania, tak długo jak dają powód do wyjaśnienia * dlaczego *). –
Jeśli chcesz ten styl komentarzu (i wiele innych przydatnych funkcji, które powinny być w specyfikacji CSS), spróbuj użyć LESS CSS.
Powiedziałbym, że możliwość użycia '//' jako komentarza nie jest powodem do rozpoczęcia używania 'LESS CSS'. Wygląda jednak na to, że ma wiele innych przydatnych funkcji, które byłyby bardzo dobrym powodem do korzystania z niego. – awe
ponieważ zapomniały, że mogą być przydatne, gdy zostały utworzone. –
Dlaczego trawa nie jest fioletowa? –
@micheal lub bardziej prawdopodobne, ponieważ zdali sobie sprawę, że nie było to użyteczne i wymagałoby dodania znaków specjalnych. Dwa dodatkowe znaki wymagane dla/**/nie są wielkim obciążeniem, biorąc pod uwagę elastyczność, jaką daje reszta formatu. – jball