Как закомментировать html
Как закомментировать html код, комментарии в html
Иногда возникает необходимость закомментировать html код. Зачем это может быть необходимо? Чтобы отключить его действие на какое-то время, но не удалять совсем. Это просто удобно, поэтому в этой статье я расскажу о том, как это делается.
Как закомментировать строку в html
Для этого существует специальный тег — . Весь код, который нужно заккоментировать, вставляют в него. Например, в html есть три абзаца. Один из них вам по каким-то причинам нужно на время убрать, но не удалять из кода.
Абзац
Абзац
Вот так вот и применяется данный тег для того, чтобы закомментировать html. Сначала открывается угловая скобка, потом идет восклицательный знак и два дефиса. Далее нужно написать то, что непосредственно превратиться в комментарий.
В нашем случае это код, который создает абзац. Таким образом, браузер проигнорирует этот код, он останется виден лишь в текстовом редакторе, а на веб-страничке вы его не увидите. Комментарий также нужно закрыть двойным дефисом и угловой скобкой.
Закомментировать в html можно сколько угодно строк. Просто закройте тег там, где нужно закончить комментарий. Если вы пользуетесь нормальным редактором кода, то закомментированная часть будет выделяться по-другому. Например, в Notepad++ это выглядит так:
Зачем нужны комментарии в html
Вообще их оставляют веб-разработчики при создании сайта, чтобы потом им и другим было проще разобраться в коде. Это очень хороший тон разработки, потому что даже плохо разбирающиеся в сайтостроении люди могут хоть как-то ориентироваться в коде на основании понятных комментариев.
Также, как уже и говорилось, в комментарии можно заключить другие теги и таким образом на какое-то время отключить их действие. Это отличная техника для обнаружения ошибок в верстке, когда нужно найти причину неправильного отображения какого-то элемента.
Теперь вы знаете, как это работает, для чего нужно и как закомментировать html самостоятельно.
Как правильно закомментировать код в HTML, XML, CSS, PHP, JavaScript
Это может быть удобно, потому что Есть моменты, когда вы можете временно написать комментарий к коду или закомментировать сам код, но оставить его там что бы использовать его позже. По сути это скрывает код пока вы не удалите комментарий кода.
В зависимости от того, с каким файлом вы работаете, существуют различные фрагменты кода которые Вы будете использовать.
Чтобы закомментировать HTML:
Чтобы закомментировать XML:
Чтобы закомментировать CSS:
Чтобы закомментировать PHP:
Или так
Чтобы закомментировать JavaScript:
if (beingShown || shown) { |
Html Как Закомментировать
Справочник HTML переехал на новый сайт с коротким и простым адресом webref. Там справочник регулярно обновляется и пополняется. Как в HTML закомментировать строку В работе программиста постоянно приходится делать какие то заметки в виде комментариев, с целью описания части кода или отметок на будущее. Как оставить, добавить комментарий в коде на PHP, HTML и CSS. Для чего нужно оставлять комментарии в коде Вопервых, чтобы не. Из видео вы узнаете как закомментировать строку, абзац, картинку или любой другой элемент в html разметке. Как правильно закомментировать код в HTML, XML, CSS, PHP, JavaScript. Html Как Закомментировать’ title=’Html Как Закомментировать’ />Сначала раскомментируйте оба тега ltp в разделе Комментарии для пояснений. Затем закомментируйте любой ltp в разделе Или. Html Как Закомментировать’ title=’Html Как Закомментировать’ />
Каждый язык имеет свой синтаксис, из за чего при разработке web страниц частой проблемой бывает незнание того, как в HTML закомментировать строку или сразу небольшой блок. Комментарии в HTMLПри разработке web страницы иногда необходимо на время скрыть часть кода или сделать пометку для программиста. Для того чтобы не пользоваться дополнительными приложениями, например, перенося часть кода в другой файл, необходимо знать, как закомментировать строку в HTML.


Как закомментировать элемент HTML/XML в VIM?
Какой лучший ярлык или плагин для комментирования элементов HTML/XML?
А также нужно раскомментировать.
html xml vim editorПоделиться Источник northtree 03 августа 2011 в 03:56
3 ответа
-
Как закомментировать кусок кода в Пакте?
Как мне закомментировать кусок кода в Пакте? Есть ли для этого ярлык в Atom? Я пробовал command+? , но он комментирует его в формате HTML.
-
Как я могу закомментировать узел в XML с помощью PowerShell?
Можно ли закомментировать узел в XDocument? У меня есть следующий тег. <abc key=test value=samplevalue></abc> Мне не нужно удалять узел; я просто хочу, чтобы он был там в файле XML в комментируемом формате. Я могу использовать что-то вроде этого: $node = $xml.selectSingleNode(‘//abc’)…
7
Вы можете использовать комбинацию совпадающих тегов XML, как видно из этого вопроса, и поиска и замены Perl.
Например, учитывая этот фрагмент:
<TypeDef name="a">
<ArrayType high="14" low="0">
<UndefType type="node">
</UndefType>
</ArrayType>
</TypeDef>
Наведите курсор на открывающий или закрывающий TypeDef и введите следующую последовательность:
vat:s/^\(.
-окружает каждую строку\(.*\)$/<!-- \1 -->/
'<!-- ... -->'
, разделители комментариев для XMLКроме того, вы можете просто удалить его следующим образом:
dat
d
-удалить в соответствии со следующими движениямиat
-как и преждеУдалить использовать затем использовать
vat:s/-->//
удалять комментарииПоделиться Dzoki 03 августа 2011 в 04:07
6Я использую плагин tComment. Здесь вы можете найти подробный видеоурок о том, как его установить и использовать.
Плагин очень полезен, так как он позволяет переключать комментарии как из командного, так и из входного интерфейса, и вы можете сделать это, используя как визуальный режим, так и движения (например,
gcw
илиgc3w
)Поделиться Moses 03 августа 2011 в 04:09
1Если вы используете emmet-vim , вы можете выбрать все содержимое тега, который хотите закомментировать, нажав
v a t
, а затем нажмитеCtrl y /
Поделиться worrawut 12 января 2017 в 15:22
-
Как закомментировать текущую строку в паредите?
Я использую M-; , чтобы закомментировать текущую строку или закомментировать область с наборами меток до того, как я встречусь с режимом paredit.
Но в режиме paredit кажется, что я не могу закомментировать текущую строку, если я не C-a и не вставлю ; вручную или не Отмечу строку перед I M-; , так...
-
Как закомментировать строку(ы) в xml в AndroidStudio?
У меня есть следующий фрагмент кода в моем файле AndroidManifest.xml , в котором я хочу закомментировать одну строку (для быстрого тестирования). Выбрав функцию AndroidStudio -comment, я получаю следующее: <application android:allowBackup=true android:[email protected]/myicon...
Похожие вопросы:
В Vim, как лучше всего выбрать, удалить или закомментировать большие части многоэкранного текста?
Выбор большого количества текста, который простирается на многие экраны в IDE, как Eclipse, довольно прост, так как вы можете использовать мышь, но каков наилучший способ, например, выбрать и...
Vim плагин для лучшей навигации XML/HTML?
Мне интересно, знает ли кто-нибудь о плагине Vim, который может обрабатывать перемещение курсора между элементами parent/child/sibling в файлах HTML или XML (предпочтительно в обоих).
Как закомментировать блок тегов в XML?
Как закомментировать блок тегов в XML? I.e. Как я могу прокомментировать <staticText> и все, что находится внутри него, в приведенном ниже коде? <detail> <band height=20>...
Как закомментировать кусок кода в Пакте?
Как мне закомментировать кусок кода в Пакте? Есть ли для этого ярлык в Atom? Я пробовал command+? , но он комментирует его в формате HTML. Однако это работает в Pact Web (pact.kadena.io)
Как я могу закомментировать узел в XML с помощью PowerShell?
Можно ли закомментировать узел в XDocument? У меня есть следующий тег. <abc key=test value=samplevalue></abc> Мне не нужно удалять узел; я просто хочу, чтобы он был там в файле XML в...
Как закомментировать текущую строку в паредите?
Я использую M-; , чтобы закомментировать текущую строку или закомментировать область с наборами меток до того, как я встречусь с режимом paredit. Но в режиме paredit кажется, что я не могу...
Как закомментировать строку(ы) в xml в AndroidStudio?
У меня есть следующий фрагмент кода в моем файле AndroidManifest.xml , в котором я хочу закомментировать одну строку (для быстрого тестирования). Выбрав функцию AndroidStudio -comment, я получаю...
Закомментировать и раскомментировать элемент xml
У меня есть файл xml, и я хочу раскомментировать и закомментировать элемент в файле. <my_element> <blablabla href=docs/MyBlank.htm /> </my_element> Этот я хотел бы close...
Vim скопируйте строку и закомментируйте старую строку
Я пытаюсь добиться того же самого, что и здесь, но в Vim. Дублируйте строку и закомментируйте старую В основном я хочу выдернуть строку,закомментировать старую, вставить новую и держать курсор в...
Как закомментировать тег HTML в шаблоне .Vue
Недавно я начал изучать Vue и использовать Vue-Cli. Есть проблема, что я не могу использовать горячую клавишу(VSCode), чтобы закомментировать тег HTML в файле . когда я использую "Ctrl+/"...
Как комментировать / раскомментировать код HTML
Часто при кодировании шаблонов представлений в html моя привычка добавлять некоторые полезные комментарии вызывает много трудоемких усилий при тестировании.
Рассмотрим этот код...
<!-- Here starts the sidebar -->
<div>
....
</div>
<!-- Here starts the main contents pane -->
<div>
...
</div>
<!-- Here starts the footer -->
<div>
...
</div>
Теперь, если мне нужно скрыть какую-то часть шаблона представления, в случае php я бы просто выбрал нужный код и поместил однострочные комментарии (в большинстве случаев используя комбинацию клавиш).
Однако в коде html, где работают только блочные комментарии, я в конечном итоге удаляю все закрывающие теги комментариев (-->) до той позиции, в которой я хочу, чтобы комментирование происходило-что - то вроде этого. ..
<!-- Here starts the sidebar
<div>
....
</div>
<!-- Here starts the main contents pane
<div>
...
</div>
<!-- Here starts the footer
<div>
...
</div>-->
Затем, когда я закончу тестирование, мне придется пройти через агонию, возвращая эти закрывающие теги.
Есть ли лучший и экономящий время способ комментирования блоков в HTML?
html coding-style commentsПоделиться Источник vikmalhotra 21 сентября 2010 в 03:14
11 ответов
-
Комментировать или раскомментировать блок на JS, используя gruntjs
Как автоматизировать комментирование или раскомментирование определенного блока кода в файлах .js с помощью gruntjs? Причина этого заключается в том, что есть вещи, которые я написал только для целей разработки frontend (т. е. отправки поддельных данных / событий).
Но когда я иду к deployment, я...
-
Можно ли комментировать / раскомментировать строку в vim с помощью " ctrl+/"
Новичок здесь. Я ищу более простой способ в VIM комментировать/раскомментировать (только одно строчное комментирование, которое является наиболее частым типом комментирования) коды C++ , используя только один ярлык, например Ctrl + / (без перехода в визуальный режим). Можно ли достичь этого...
22
Закомментируйте большие разделы HTML (блок закомментируйте)
мой личный способ в файле .html открыть: <script>/*
и закрыть его с помощью */</script>
<script>/* hiding code go here */</script>
Это обходной путь к проблеме, так как это не HTML.
Учитывая ваш код в .html...
<!-- Here starts the sidebar -->
<div>
.
...
</div>
<script>/*
<!-- Here starts the main contents pane -->
<div>
...
</div>
<!-- Here starts the footer -->
<div>
...
</div>
*/</script>
А в случае HTML внутри файла PHP используйте тег комментария <?/*
или <?php /*
и закройте его с помощью */?>
. Помните, что файл должен иметь расширение .php и не работать в формате. html.
<?/* hiding code go here */?>
Учитывая ваш код внутри .php...
<!-- Here starts the sidebar -->
<div>
....
</div>
<?/*
<!-- Here starts the main contents pane -->
<div>
...
</div>
<!-- Here starts the footer -->
<div>
...
</div>
*/?>
Не стоит ничего, что не является HTML, но распространенная практика разработчиков заключается в том, чтобы закомментировать части метаданных так, чтобы они не были визуализированы и/или выполнены в браузере. В HTML комментирование нескольких строк может занять много времени. Полезно исключить фрагменты структурных метаданных шаблона, содержащие комментарии, CSS или код, и систематически комментировать их, чтобы найти источник ошибки.
Считается плохой практикой комментировать блоки, и рекомендуется использовать систему контроля версий.
Атрибут "type" является обязательным в HTML4 и необязательным в HTML5.
Поделиться Alan Mattano 10 мая 2015 в 04:25
10
Зависит от расширения. Если это .html, вы можете использовать <?
?>
для завершения комментария. Это действительно единственная альтернатива, которую я могу придумать./
Поделиться Robert 21 сентября 2010 в 03:18
2
вы можете попытаться заменить -->
другой строкой, скажем, #END#
, и выполнить поиск и замену в вашем редакторе, когда вы хотите вернуть закрывающие теги.
Поделиться
u11
21 сентября 2010 в 03:29
-
jupyter - как комментировать ячейки?
Можно ли комментировать целые клетки в jupyter? Он мне нужен для этого дела: У меня много камер, и я хочу управлять всеми, за исключением нескольких. Мне нравится, что мой код организован в разных ячейках, но я не хочу заходить в каждую ячейку и комментировать ее строки. Я предпочитаю каким-то...
-
Как прокомментировать несколько строк в Visual Studio Code?
Я не могу найти способ комментировать и раскомментировать несколько строк кода в Visual Studio Code . Можно ли комментировать и раскомментировать несколько строк в Visual Studio Code с помощью какого-то ярлыка? Если да, то как это сделать?
0
Я нахожу, что это тоже проклятие комментирования документов в стиле XML. Есть XML редакторов, таких как eclipse, которые могут выполнять блочное комментирование . В основном автоматически добавляйте дополнительные строки в строку и удаляйте их. Может быть, они намеренно затрудняли комментирование того стиля документа, который должен был быть самоочевидным с тегами, в конце концов.
Поделиться whatnick 21 сентября 2010 в 03:27
0
Поставьте пробел между "-- > "ваших комментариев заголовка, например" - - >"
Поделиться user3178029 09 января 2014 в 14:50
-1
Мои шаблоны представлений обычно представляют собой файлы .php. Это то, что я бы использовал сейчас.
<?php // Some comment here ?>
Решение очень похоже на то, что предложил @Robert, работает для меня. Наверное, он не очень чистый.
Поделиться vikmalhotra 21 сентября 2010 в 04:00
-1
Eclipse у Юноны есть для этого хороший способ. Вы просто делаете cmd + /
Поделиться scrblnrd3 02 апреля 2013 в 19:04
-1
Следующее хорошо работает в файле .php.
<php? /*your block you want commented out*/ ?>
Поделиться dstrong 25 апреля 2014 в 16:43
-2
Нет, если вы не найдете инструмент, который делает то, что вы описали для вас.
Поделиться David 21 сентября 2010 в 03:16
-3
В зависимости от вашего редактора, это должен быть довольно простой макрос для написания.
- Перейти к началу строки или выделенной области
- Вставить <!--
- Перейти к концу строки или выделенной области
- Вставить -->
Еще один макрос, чтобы отменить эти шаги, и все готово.
Edit: этот упрощенный подход не обрабатывает вложенные теги комментариев, но должен облегчить комментирование/раскомментирование в общем случае.
Поделиться Jeff Knecht 21 сентября 2010 в 04:08
-7
/*
(открывалка)
*/
(ближе)
например,
<html>
/*<p>Commented P Tag </p>*/
<html>
Поделиться user2280232 22 марта 2014 в 02:34
Похожие вопросы:
Как быстро прокомментировать / раскомментировать строки в Vim?
У меня есть файл кода Ruby, открытый в vi, есть строки, закомментированные с # : class Search < ActiveRecord::Migration def self. up # create_table :searches do |t| # t.integer :user_id # t.string...
Как раскомментировать блок кода в emacs python-режиме?
Я только что начал использовать python-mode в emacs и заметил, что в то время как основной режим имеет возможность комментировать область ( (py-comment-region) , которая связана с (C-c #) ), нет...
Как раскомментировать теги html с помощью jsoup
Интересно, можно ли раскомментировать теги html, например, с помощью jsoup? : <!--<p> foo bar </p>--> к <p> foo bar </p>
Комментировать или раскомментировать блок на JS, используя gruntjs
Как автоматизировать комментирование или раскомментирование определенного блока кода в файлах .js с помощью gruntjs? Причина этого заключается в том, что есть вещи, которые я написал только для...
Можно ли комментировать / раскомментировать строку в vim с помощью " ctrl+/"
Новичок здесь. Я ищу более простой способ в VIM комментировать/раскомментировать (только одно строчное комментирование, которое является наиболее частым типом комментирования) коды C++ , используя. ..
jupyter - как комментировать ячейки?
Можно ли комментировать целые клетки в jupyter? Он мне нужен для этого дела: У меня много камер, и я хочу управлять всеми, за исключением нескольких. Мне нравится, что мой код организован в разных...
Как прокомментировать несколько строк в Visual Studio Code?
Я не могу найти способ комментировать и раскомментировать несколько строк кода в Visual Studio Code . Можно ли комментировать и раскомментировать несколько строк в Visual Studio Code с помощью...
Как комментировать / раскомментировать массово в графическом интерфейсе wikidata SPARQL с помощью ярлыка?
WikiData предоставляет инструмент для построения запросов. https://query.wikidata.org / Но я не могу найти ни одного ярлыка в редакторе, чтобы комментировать / раскомментировать массово (то есть...
как раскомментировать код в онлайн-скрипте matlab
Я только что столкнулся с этой странной проблемой, что я не могу раскомментировать свой код в файле скрипта онлайн на matlab. Я могу сделать команду+ '/', чтобы прокомментировать свой код, но я не...
как мне закончить трубу dplyr с NULL? чтобы легко комментировать/раскомментировать
library(tidyverse) ggplot(mpg, aes(hwy)) + geom_histogram() + theme_classic() + NULL Помните ли вы классный трюк, заканчивающий ваши команды ggplot на NULL , чтобы позволить легко комментировать /...
виды комментариев и особенности их применения
От автора: комментирование — это одна из тех функций, которую легко реализовать. В то же время, эти элементы редактирования могут принести немало пользы разработчикам, которые передают код из рук в руки. Сегодня вы узнаете, как в PhpStorm закомментировать блок. Также рассмотрим остальной функционал среды разработки по комментированию содержимого программы.
Комментарии: плохие и хорошие
Возможность комментирования кода доступна на большинстве языков программирования (возможно, на всех, но с разной степенью доступности). Как правило, словесные разъяснения используются для того, чтобы помочь в дальнейшей разработке другим членами команды, или просто напомнить себе о том, что для этого участка нужны исправления (“FIX ME”).
Конечно, пояснение к написанному — это благо. Но при помощи комментариев можно и перечеркнуть все хорошие стороны кода. Чтобы этого не случилось, необходимо различать виды комментов:
документирующие. Хорошей ассоциацией станет понятие документации для различного программного обеспечения. Такие комментарии помогают в использовании кода, словно инструкция. Подобное комментирование не воспринимается лишним, ведь без него никак. Представьте, что кто-то использовал авторский фреймворк и не рассказывает, как пользоваться программой;
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнеепоясняющие. Хорошему коду они, как правило, не нужны. Чем больше строчек комментариев вы видите в программе, тем больше вероятность того, что программа написана плохо. Конечно, это не абсолютное правило.
Поясняющие комментарии могут пригодится для тех, кто будет исправлять код в будущем. К примеру, многим молодым специалистам везде видится поле для улучшений. Они верят, что до них все было хуже, и теперь пора исправлять каждую отдельную функцию.
Иногда подобное чувство одолевает и профессионалов. К примеру, когда все выглядит удивительно криво — должно же быть решение получше. Чтобы уберечь последователей от поиска лучшего, программист может оставить такую записку: #time_spent_here=24h
После таких слов мало кто захочет тратить столько времени. Таким образом, вы предупреждаете, что множество разных вариантов уже перебрали. В то же время, стоит избегать таких выпадов: #i_hate_this, #try_to_do_better_ass%%le. Подобным образом вы проявляете лишь непрофессиональное отношение. Не стоит компрометировать себя и работодателя.
Но и документирующее комментирование кода может стать балластом для программиста. Как правило, это массивные участки, которые отвлекают непосредственно от программирования. Но чтобы отобразить код без комментариев, в основных IDE есть соответствующая функция. Не должна быть исключением и PhpStorm, но увы. Ищите функцию в документах обновлений.
Тег, как элемент функционала
Несмотря на то, что комментирование задумывалось как разъяснение и помощь при командной разработке, этими функциями пользуются не так часто. Как правило, теги ставят там, где хотят остановить выполнение кода. Представим, что у вас есть PHP, встроенный в HTML. И вы не хотите его cтирать, а лишь желаете посмотреть, как выглядит страница без него. Для этого необходимо соблюдать такой синтаксис:
…<div>...</div> <?--закомментированный код на php --> <div>...</div>
…<div>...</div> <?--закомментированный код на php --> <div>...</div> |
Как видите, простыми действиями можно остановить выполнение кода, даже не совершая какой-либо сложных операций. Но, на самом деле, это еще не верх оптимизации. Дополнительное удобство для разработчика предоставляет сама IDE phpStorm. При помощи выделения и сочетания клавиш можно закомментировать выбранный сегмент кода, не приписывая специализированные теги. Осуществить это можно так.
При помощи удобного вам способа выделяете фрагмент текста (мышь, шорткаты).
Жмите сочетание клавиш Ctr + Shift + /
Кроме этого, можно комментировать и текущую строку. Все то же, только без Shift.
Преимуществом такого вида комментирования является одновременный охват нескольких языков. PHP редко сам по себе. Таким образом, вам не нужно прибегать к проставлению тегов на каждом. Среда поддерживает еще несколько веб-языков. Лишь выделить фрагмент и продать сочетание — вот мультиязычный код и закомментирован. Точно так же его можно сделать и действующим.
На этом у нас все. Если ранее вы не пользовались этими функциями, советуем вам начать. Сокращения делают работу быстрее и качественнее.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнееРазработка веб-приложения на PHP
Создайте веб-приложение на PHP на примере приема платежей на сайте
СмотретьЗакомментирование кода - Visual Studio for Mac
- Чтение занимает 2 мин
В этой статье
При отладке кода или экспериментировании с ним может оказаться полезным комментировать блоки кода как временно, так и в долгосрочной перспективе.When debugging or experimenting with code, it can be useful to comment blocks of code either temporarily or long term.
Чтобы оставить комментарий к целому блоку кода, сделайте следующее:To comment out an entire block of code:
- Выделите код и выберите пункт Закомментировать или раскомментировать строку в контекстном менюSelect the code and select Toggle Line Comment(s) from the context menu
OROR
- Используйте сочетание клавиш
cmd + /
для выделенного кода.Use the
cmd + /
keybinding on the selected code.
Эти методы позволяют закомментировать или раскомментировать разделы кода.These methods can be used to comment and uncomment sections of code. В файлах C# можно добавить дополнительные уровни комментариев для строк, что позволяет закомментировать или раскомментировать области кода, сохранив фактические комментарии:In C# files, additional levels of line comments can be added, which allows regions of codes to be commented and uncommented, while still preserving actual comments:
Комментарии также удобно использовать при документировании кода для разработчиков, которые могут столкнуться с ним в будущем.Comments are also useful for documenting code for future developers that may interact with it. Обычно они выполняются в виде многострочных комментариев, которые в каждом языке добавляются следующим образом:These are usually done in the form of multi-line comments, which are added in the following way in each language:
C#C#
/*
This is a multi-line
comment in C#
*/
F#F#
(*
This is a multi-line
comment in F#
*)
См.

КАК: Как комментировать код при написании HTML
Когда вы просматриваете веб-страницу в браузере, вы видите визуальное представление того, что отображается в этой части программного обеспечения (веб-браузера) на основе кода определенной веб-страницы. Если вы просмотрите исходный код веб-страницы, вы увидите документ, состоящий из различных элементов HTML, включая абзацы, заголовки, списки, ссылки, изображения и многое другое. Все эти элементы отображаются браузером на экране посетителя как часть отображения веб-сайта. Одна вещь, которую вы можете найти в HTML-коде, который не отображается на экране человека, - это так называемые «комментарии HTML».
Что такое комментарий?
Комментарий представляет собой строку кода в HTML, XML или CSS, которая не просматривается или не действует браузером или парсером. Он просто записывается в код, чтобы предоставить информацию об этом коде или другую обратную связь от разработчиков кода.
Большинство языков программирования имеют комментарии, они обычно используются разработчиком кода для одного или даже более одного из следующих причин:
- Опишите и объясните сложный код тому, кому, возможно, придется работать над ним в будущем - включая самих себя! Они могут вернуться к коду 3 или 6 из 12 месяцев или более позже и не помнить, почему они что-то сделали определенным образом.
Комментарии могут помочь ответить на их вопросы и напомнить им о том, где их ум был, когда они впервые разрабатывали эту страницу.
- Предоставьте подробную информацию о том, когда код был отредактирован или просмотрен. Это может быть полезной информацией и действовать как журнал разработки, когда сайт работал в последний раз.
- Удалите разделы кода, но оставьте их доступными для последующего использования. Это часто делается при тестировании и отладке сайта. Если у вас возникла проблема на сайте и вы не знаете, что ее вызывает, вы можете прокомментировать разделы по одному для карантина и определить проблему, а затем работать над исправлением любых проблем, которые возникают у вас.
- Пообщайтесь с другими разработчиками, работающими над кодом. Скорее всего, это будет сделано во время разработки, чтобы совместно использовать детали с другими, работающими над кодом в то же время. Если эти комментарии являются чисто разговорами о развитии, лучше всего удалить их из кода до запуска сайта.
Традиционно комментарии в HTML используются практически для любых элементов, от объяснений сложных структур таблиц до информационных замечаний о содержании самой страницы. Поскольку комментарии не отображаются в браузере, вы можете добавлять их в любом месте HTML и не беспокоиться о том, что он будет делать, когда сайт просматривается клиентом.
Как написать комментарии
Написание комментариев в HTML, XHTML и XML очень просто. Просто объедините текст, который вы хотите прокомментировать, следующим образом:
а также
Как вы можете видеть, эти комментарии начинаются с «меньше символа», плюс восклицательный знак и две тире. Комментарий заканчивается еще двумя тире и символом «больше чем:». Между этими символами вы можете писать все, что хотите, чтобы составить текст комментария.
В CSS это немного отличается, используя комментарии кода C, а не HTML. Вы начинаете с косой черты, за которой следует звездочка. Вы завершаете комментарий с помощью инверсии, звездочкой и последующей косой чертой.
Комментарии - это умирающее искусство
Большинство программистов знают ценность полезных комментариев. Прокомментированный код облегчает передачу этого кода из одного члена команды в другой. Комментарии помогают команде QA проверить код, потому что они могут сказать, что разработчик намеревался - даже если он не был достигнут. К сожалению, с популярностью веб-сайтов, таких как WordPress, которые позволяют вам запускать и запускать выбранную тему, которая обрабатывает много, если не все, HTML для вас, комментарии не часто используются веб-командами. Это связано с тем, что комментарии очень трудно увидеть в большинстве инструментов визуального создания, если вы не работаете напрямую с кодом. Например, вместо того, чтобы видеть в верхней части веб-страницы:
Визуальный инструмент показывает маленький значок, указывающий на то, что комментарий есть. Если дизайнер физически не открывает комментарий, он, возможно, никогда этого не увидит. И в случае вышеупомянутой страницы могут возникнуть проблемы, если она редактирует страницу и что редактирование переписано сценарием, упомянутым в комментарии.
Что можно сделать?
- Напишите полезные и полезные комментарии. Не ожидайте, что другие люди прочитают ваши комментарии, если они слишком длинны или не содержат полезную информацию.
- Как разработчик, вы должны всегда просмотрите любые комментарии, которые вы видите на странице.
- Используйте инструменты, предоставляемые авторскими программами, которые позволяют добавлять комментарии.
- Используйте управление контентом для управления редактированием страниц.
Даже если вы единственный, кто редактирует ваши веб-страницы, комментарии могут быть полезными. Если вы редактируете сложную страницу только один раз в год, легко забыть, как вы построили таблицу или собрали CSS. С комментариями вы не должны помнить, так как это написано прямо для вас.
Язык шаблонов Django — Документация Django 1.4
About this document
Этот раздел описывает синтаксис языка шаблонов Django. Если вы ищите технически подробности как он работает и как расширять его, смотрите The Django template language: For Python programmers.
Язык шаблонов Django представляет баланс между возможностями и простотой. Он создавался, что бы быть удобным для пользователей HTML. Если у вас есть опыт работы с другими языками текстовых шаблонов, таких как Smarty или CheetahTemplate, вы должны себя чувствовать как дома с шаблонами Django.
Philosophy
Если у вас есть опыт программирования, или вы использовали PHP, который позволяет использовать программынй код прямо HTML, вам стоит помнить, что система шаблонов Django, это не просто Python встроенный в HTML. Это сделано намеренно: шаблоны предназначены для представления, а не логики программы.
Шаблоны Django предоставляют теги, которые повторяют некоторые структуры языка программирования – тег if для проверки на истинность, тег for для циклов, и др. – но они не выполняются непосредственно как код Python, и система шаблонов не будет выполнять произвольное выражение Python. Только теги, фильтры и синтаксис, перечисленные ниже, поддерживаются по-умолчанию (хотя вы можете добавить собственное расширение для языка шаблонов при необходимости).
Шаблоны
Шаблон это просто текстовый файл. Он позволяет создать любой текстовый формат (HTML, XML, CSV, и др.).
Шаблон содержит переменные, которые будут заменены значениями при выполнении шаблона, и теги, которые управляют логикой шаблона.
Ниже приводится простой шаблон, который иллюстрирует некоторые основы. Каждый элемент будет объяснен далее в этом разделе.
{% extends "base_generic.html" %} {% block title %}{{ section.title }}{% endblock %} {% block content %} <h2>{{ section.title }}</h2> {% for story in story_list %} <h3> <a href="{{ story.get_absolute_url }}"> {{ story.headline|upper }} </a> </h3> <p>{{ story.tease|truncatewords:"100" }}</p> {% endfor %} {% endblock %}
Philosophy
Зачем использовать текстовый шаблон, а не на основе XML (как TAL в Zope)? Мы хотели, что бы шаблоны Django были больше чем просто XML/HTML шаблоны. На World Online, мы используем их для email, JavaScript и CSV. Вы можете использовать шаблоны для любого текстового формата.
Ах да, еще одно: заставлять людей редактировать XML – это садизм!
Переменные
Переменные выглядят таким образом: {{ variable }}. Когда шаблон встречает переменую, он вычисляет ее и заменяет результатом. Названия переменных могут состоять из букв, цифр и нижнего подчеркивания("_"). Точку (".") так же можно использовать, но она имеет особый смысл описанный ниже. Важно, нельзя использовать пробелы и знаки пунктуации в названии переменных.
Используйте точку (.) для доступа к атрибутам переменной.
Behind the scenes
Технически, когда шаблон встречает точку, он пытается получить значения в таком порядке:
В примере выше, {{ section.title }} будет заменен на атрибут title объекта section.
Если переменная не найдена, шаблон вставит значение из настройки TEMPLATE_STRING_IF_INVALID, которая равна '' (пустой строке) по-умолчанию.
Фильтры
Вы можете изменить значение переменной используя фильтры.
Фильтры выглядят таким образом: {{ name|lower }}. Это выведет значение переменной {{ name }} после применения фильтра lower к нему, который преобразует значение в нижний регистр. Используйте символ (|) для применения фильтра.
Можно использовать “цепочку” фильтров. Вывод одного фильтра используется для другого. {{ text|escape|linebreaks }} обычно применяется для экранирования текста, и замены переноса строки тегами <p>.
Некоторые фильтры принимают аргументы. Аргумент фильтра выглядит таким образом: {{ bio|truncatewords:30 }}. Этот код отобразит первые 30 слов переменной bio.
Аргументы фильтров, которые содержат пробелы, должны быть заключены в кавычки. Например, что бы объединить список пробелом и запятой, используйте {{ list|join:", " }}.
Django предоставляет около тридцати встроенных фильтров. Вы можете прочитать о них в разделе о встроенных фильтрах. Чтобы дать вам представление о возможностях, вот некоторые из наиболее часто используемых фильтров:
- default
Если значение равно False, будет использовано значение по-умолчанию.
В противном случае используется значение.
Например:
{{ value|default:"nothing" }}
Если value равно "" (пустая строка), будет выведено nothing.
- length
Возвращает размер значения. Работает для строк и списков, например:
Если value равно ['a', 'b', 'c', 'd'], выведет 4.
- striptags
Удаляет все [X]HTML теги. Например:
Если value равно "<b>Joel</b> <button>is</button> a <span>slug</span>", выведет "Joel is a slug".
Опять же, это всего лишь несколько примеров; полный список смотрите раздел о встроенных фильтрах.
Вы можете создать собственный фильтр; смотрите Собственные шаблонные теги и фильтры.
См.также
Интерфейс администратора Django может предоставить полный список доступных тегов и фильтров. Смотрите The Django admin documentation generator.
Наследование шаблонов
Самая могущественная – и, следовательно, самая сложная – часть механизма шаблонов Django – это наследование шаблонов. Наследование шаблонов позволяет создать вам шаблон-“скелет”, который содержит базовые элементы вашего сайта и определяет блоки, которые могут быть переопределены дочерними шаблонами.
Проще всего понять наследования шаблонов с помощью примера:
<!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="style.css" /> <title>{% block title %}My amazing site{% endblock %}</title> </head> <body> <div> {% block sidebar %} <ul> <li><a href="/">Home</a></li> <li><a href="/blog/">Blog</a></li> </ul> {% endblock %} </div> <div> {% block content %}{% endblock %} </div> </body> </html>
Этот шаблон, который мы будем называть base.html, определяет HTML структуру документа, которую вы можете использовать для двух-колоночной страницы. Задача “дочернего” шаблона заполнить пустые блоки содержимым.
В этом примере, тег block определяет три блока, которые может переопределить дочерний шаблон. Все что делает тег block – указывает механизму шаблонов, какая часть шаблона может быть переопределена в дочернем шаблоне.
Дочерний шаблон может выглядеть таким образом:
{% extends "base.html" %} {% block title %}My amazing blog{% endblock %} {% block content %} {% for entry in blog_entries %} <h3>{{ entry.title }}</h3> <p>{{ entry.body }}</p> {% endfor %} {% endblock %}
Ключевым сдесь есть тег extends. Он говорит механизму шаблонов, что этот шаблон “наследует” другой шаблон. Когда механизм шаблонов выполняет этот шаблон, первым делом находится родительский шаблон – в этом примере “base.html”.
Далее механизм шаблонов находит три тега block в base.html и заменяет их содержимым дочернего шаблона. В зависимости от значения blog_entries, результат может выглядеть таким образом:
<!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="style.css" /> <title>My amazing blog</title> </head> <body> <div> <ul> <li><a href="/">Home</a></li> <li><a href="/blog/">Blog</a></li> </ul> </div> <div> <h3>Entry one</h3> <p>This is my first entry.</p> <h3>Entry two</h3> <p>This is my second entry.</p> </div> </body> </html>
Так как дочерний шаблон не определяет блок sidebar, будет использовано значение из родительского шаблона. Содержимое тега {% block %} родительского шаблона всегда используется как значение по-умолчанию.
Вы можете использовать столько уровней наследование, сколько вам нужно. Один из распространенных способов использовать наследование – это трехуровневый подход:
Создать шаблон base.html, который отображает основной вид вашего сайта.
Создать шаблон base_SECTIONNAME.html для каждого “раздела” вашего сайта. Например, base_news.html, base_sports.html. Все эти шаблоны наследуют base.html и включают стили и дизайн специфические для конкретного раздела.
Создание шаблона для каждого типа страницы, такие как новость или запись в блоге. Эти шаблоны наследуют соответствующий шаблон раздела.
Такой подход позволяет максимально использовать существующий код и легко добавлять элементы, такие как элементы навигации специфические для каждого раздела, в общие блоки шаблона.
Вот несколько советов по работе с наследованием:
Если вы используете {% extends %}, он должен быть первым тегом в шаблоне. Иначе наследование не будет работать.
Чем больше тегов {% block %} в вашем шаблоне, тем лучше. Помните, дочерний шаблон не обязан определять все блоки родительского, вы можете указать значение по-умолчанию для всех блоков, а затем определить в дочернем шаблоне только те, которые необходимы.
Лучше иметь больше “hooks”, чем меньше “hooks”.
Если вы дублируете содержимое в нескольких шаблонах, возможно вы должны перенести его в тег {% block %} родительского шаблона.
Если вам необходимо содержимое блока родительского шаблона, используйте переменную {{ block.super }}. Эта полезно, если вам необходимо дополнить содержимое родительского блока, а не полностью переопределить его. Содержимое {{ block.super }} не будет автоматически экранировано (смотрите раздел ниже), так как оно уже было экранировано, при необходимости, в родительском шаблоне.
Для ясности, вы можете добавить название вашему тегу {% endblock %}. Например:
{% block content %} ... {% endblock content %}
В больших шаблонах такой подход поможет вам увидеть какой тег {% block %} был закрыт.
Вы не можете определить несколько тегов block с одним названием в одном шаблоне. Такое ограничение существует потому, что тег block работает в “оба” направления. block не просто предоставляет “полость” в шаблоне – он определяет содержимое, которое заполняет “полость” в родительском шаблоне. Если бы было несколько тегов block с одним названием, родительский шаблон не знал содержимое какого блока использовать.
Автоматическое экранирование HTML
Создавая HTML используя шаблон, есть риск, что переменная может содержать символы, которые повлияют на структуру полученного HTML. Например, рассмотрим такой фрагмент:
На первый взгляд это кажется безобидным способом отображения имени пользователя, но давайте посмотрим, что произойдет, если пользователь выбрал такое имя::
<script>alert('hello')</script>
С таким именем шаблон вернет:
Hello, <script>alert('hello')</script>
...что приведет к отображению alert-окна JavaScript!
Аналогично, что если имя содержит символ '<'?
Шаблон вернет такое содержимое:
...в результате оставшееся содержимое страницы будет выделено полужирным!
Очевидно, пользовательским данными нельзя слепо доверять и вставлять непосредственно в содержимое страницы, так как злоумышленники могут использовать это с плохими намерениями. Такой тип уязвимости называется Cross Site Scripting (XSS) атакой.
Чтобы избежать этой проблемы, у вас есть два варианта:
Первый, вы можете применять ко всем сомнительным переменным фильтр escape (описанный далее), который преобразует потенциально опасные HTML символы в безопасные. Такое решение было принятым в первых версиях Django, но проблема в том, что оно возлагает бремя ответственности за безопасность на вас, разработчика / автора шаблона. Легко забыть экранировать переменную.
Второй, вы можете позволить Django автоматически экранировать HTML. Оставшаяся часть этого раздела описывает, как автоматическое экранирование работает.
По-умолчанию в Django, каждый шаблон экранирует все переменные. В частности выполняются такие замены:
< заменяется на <
> заменяется на >
' (одинарная кавычка) заменяется на '
" (двойная кавычка) заменяется на "
& заменяется на &
Опять же, мы подчеркиваем, что такое поведение используется по-умолчанию. Если вы используете систему шаблонов Django, вы в безопасности.
Как это отключить
Если вы не хотите что бы данные автоматически экранировались, на уровне сайта, шаблона или одной переменной, вы можете отключить это несколькими способами.
Зачем вам отключить экранирование? Потому что в некоторых ситуациях, вы намеренно добавляете HTML в переменную, и хотите что бы он выводился без экранирования. Например, вы можете хранить HTML в базе данных и хотите непосредственно вставить его в содержимое страницы. Или шаблоны Django используются для создания текста, который не является HTML – например email.
Для отдельных переменных
Для отключения авто-экранирования для отдельных переменных, используйте фильтр safe:
This will be escaped: {{ data }} This will not be escaped: {{ data|safe }}
Думайте о safe как сокращение “обезопасить от последующего экранирования” или “может быть смело интерпретировано как HTML”. В этом примере, если data содержит '<b>', будет выведено:
This will be escaped: <b> This will not be escaped: <b>
Для блоков шаблона
Для контроля авто-экранирования в шаблоне, “оберните” шаблон (или часть шаблона) тегом autoescape, например:
{% autoescape off %} Hello {{ name }} {% endautoescape %}
Тег autoescape в качестве аргумента принимает on или off. В некоторых случаях, вы захотите включить экранирование в шаблоне, в котором оно было отключено. Например:
Auto-escaping is on by default. Hello {{ name }} {% autoescape off %} This will not be auto-escaped: {{ data }}. Nor this: {{ other_data }} {% autoescape on %} Auto-escaping applies again: {{ name }} {% endautoescape %} {% endautoescape %}
Тег autoescape распространяет свой эффект на шаблоны, которые наследуют текущий, и на включенные тегом include шаблоны, как и другие блочные теги. Например:
# base.html {% autoescape off %} <h2>{% block title %}{% endblock %}</h2> {% block content %} {% endblock %} {% endautoescape %} # child.html {% extends "base.html" %} {% block title %}This & that{% endblock %} {% block content %}{{ greeting }}{% endblock %}
Так как авто-экранирование отключено в базовом шаблоне, оно будет отключено и в дочернем шаблоне. Если переменная greeting равна <b>Hello!</b>, будет выведено:
<h2>This & that</h2> <b>Hello!</b>
Заметки
Обычно, авторы шаблонов не должны волноваться про авто-экранирование. Разработчики на стороне Python (те, кто создает представления и фильтры) должны определять в каких случаях данные не должны экранироваться и помечать их соответствующим образом, так что все будет просто работать в шаблонах.
Если вы создаете шаблон, который может использовать как с включенным авто-экранированием так и без него, добавляйте фильтр escape для каждой переменной, которую нужно экранировать. При включенном авто-экранировании фильтр escape не выполнит замену символов повторно.
Строки и автоматическое экранирование
Как уже упоминалось выше, аргументом фильтра может быть строка:
{{ data|default:"This is a string literal." }}
Все строки в шаблоне вставляются без автоматического экранирования – они обрабатываются как строки, к которым применили фильтр safe. Причина этого состоит в том, что автор шаблона контролирует содержимое этих строк и самостоятельно может убедиться при создании шаблона, что они не содержат не безопасных символов.
Это означает, что бы должны писать:
{{ data|default:"3 < 2" }}
...вместо
{{ data|default:"3 < 2" }} <-- Bad! Don't do this.
Это правила не распространяется на переменные, которые используются в качестве аргументов, так как автор шаблоне не может контролировать содержимое этих переменных.
Вызов методов
Вызов большинства методов объектов так же доступен в шаблоне. Это означает, что шаблон имеет доступ не только к атрибутам классов (например, название поля) и переменных переданных из представлениях. Например, Django ORM предоставляет “entry_set” атрибут для получения связанных через внешний ключ объектов. Следовательно, для модели комментариев(“comment”) с внешним ключом на модель задач(“task”) вы можете обратиться в цикле ко всем связанным комментариям переданного объекта задачи:
{% for comment in task.comment_set.all %} {{ comment }} {% endfor %}
Также, QuerySets предоставляет метод count() для получения количества объектов. Следовательно, вы можете получить количество комментариев связанных с конкретной задачей:
{{ task.comment_set.all.count }}
И конечно вы можете использовать методы вашей модели:
# In model class Task(models.Model): def foo(self): return "bar" # In template {{ task.foo }}
Так как Django намеренно ограничивает определение логики проекта в шаблоне, передавать аргументы при вызове метода в шаблоне нельзя. Данные должны вычисляться в представлении и передаваться в шаблон для отображения.
Собственные библиотеки тегов и фильтров
Некоторые приложения предоставляют собственные библиотеки тегов и фильтров. Что бы использовать их в шаблоне, используйте тег load:
{% load comments %} {% comment_form for blogs.entries entry.id with is_public yes %}
В это примере, тег load загружает библиотеку comments, которая предоставляет тег comment_form. В разделе документации вашего интерфейса администратора вы можете найти список всех установленных библиотек.
Тег load может принимать названия нескольких библиотек, разделенные пробелом. Например:
Смотрите раздел Собственные шаблонные теги и фильтры, что бы узнать как создавать собственные библиотеки для шаблонов.
Собственные библиотеки и наследование шаблонов
При загрузке библиотеки, теги и фильтры, которые она содержит, будут доступны только в текущем шаблоне – не в родительском или дочернем шаблонах.
Например, если шаблон foo.html содержит {% load comments %}, дочерний шаблон (например, содержащий``{% extends “foo.html” %}``) не сможет использовать теги и фильтры из этой библиотеки. Дочерний шаблон должен самостоятельно загрузить библиотеку, используя {% load comments %}.
Так сделано ради “maintainability” и “sanity”.
Как закомментировать свой HTML-код
Тег комментария - это элемент, используемый для оставления заметок, в основном связанных с проектом или веб-сайтом. Этот тег часто используется, чтобы объяснить что-то в коде или оставить какие-то рекомендации по проекту. Тег комментария также позволяет разработчику вернуться и понять код, который он написал на более позднем этапе. Комментарии также можно использовать для комментирования строк кода в целях отладки.
Хорошей практикой является добавление комментариев к вашему коду, особенно при работе с командой или в компании.
Комментарии начинаются с и заканчиваются
->
и могут занимать несколько строк. Они могут содержать код или текст и не отображаются в интерфейсе веб-сайта, когда пользователь посещает страницу. Вы можете просматривать комментарии через Inspector Console или просматривая исходный код страницы.
Пример
Подробнее: https: // html.ru / tags / comment-tag / # ixzz4vtZHu5uR
Интернет FreeCodeCamp
FreeCodeCamp - это проект с открытым исходным кодом, которому нужна ваша помощь
Условные комментарии определяют некоторые теги HTML, которые будут выполняться при заполнении определенной кодификации.
Условные комментарии распознаются только Internet Explorer версий 5–9 - IE5 - IE9.
Пример
Интернет FreeCodeCamp
FreeCodeCamp - это проект с открытым исходным кодом, которому нужна ваша помощь
Эти комментарии доступны только в Internet Explorer и могут использоваться до IE9. В настоящее время есть хорошие перемены, которых вы никогда не увидите, но хорошо знать об их существовании. Условные комментарии - это способ обслуживания разных браузеров клиентов по-разному. Например:
Ваш браузер ниже IE9
Ваш браузер IE9
Ваш браузер лучше IE9
Подробнее о HTML:
Стиль кодирования - Как комментировать / раскомментировать в HTML код
Закомментируйте большие разделы HTML (Блок комментариев)
мой личный образ в .html файл открывается:
Это обходной путь к проблеме, поскольку это не HTML.
Учитывая ваш код в .html ...
.
...
<сценарий> / *
...
...
* /
И в случае HTML внутри файла PHP , используя тег комментария или
и закройте его с помощью
* /?>
. Помните, что файл должен иметь расширение .php и не работать с .html.
Учитывая ваш код в .php ...
....
...
...
* /?>
Ничего не стоит, кроме HTML, но обычная практика разработчиков - комментировать части метаданных, чтобы они не отображались и / или не выполнялись в браузере. В HTML комментирование нескольких строк может занять много времени. Полезно исключить части структурных метаданных шаблона, содержащие комментарии, CSS или код, и систематически комментировать их, чтобы найти источник ошибки.Комментирование блоков считается плохой практикой, и рекомендуется использовать систему контроля версий.
Атрибут type является обязательным в HTML4 и необязательным в HTML5.
- Возможны ли вложенные комментарии HTML?
TL; DR : К сожалению, нет, это невозможно (и никогда не будет).
Краткий ответ:
Комментарий HTML - это не совсем то, что многие думают. HTML - это форма SGML, в которой комментарии разделяются парами двойных тире ( - … - ).
Таким образом, любая пара двойных тире внутри пары угловых скобок с восклицательным знаком после открывающей скобки ( - ⋯ - > ) является комментарием. Спецификация говорит об этом лучше, чем я: http://www. w3.org/TR/html4/intro/sgmltut.html#h-3.2.4
Вот почему комментарии, подобные этому (которые мы, вероятно, делали так или иначе, все ) - это плохая идея :
Правда: мне лень говорить вам, сколько комментариев представлено указанным выше загрязнением тега, но это не менее 10.
Я стал менее ленив: этот так называемый "комментарий" на самом деле состоит из 10 комментариев, три слова вне комментария (т.е. просто плохой SGML), а начало комментария, который не заканчивается. Настоящая неразбериха:
- 1 - - 2 - - 3 - - 4 - - 5 - ЗАГОЛОВОК НАЧИНАЕТСЯ ЗДЕСЬ - 6 - - 7 - - 8 - - 9 - - 10 - - >
Конечно, не совсем так просто из-за различий в том, как каждый браузер интерпретирует спецификацию.
Вот отличная статья, которая объясняет это:
http://weblog.200ok.com.au/2008/01/dashing-into-trouble-why-html-comments.html
Длинный ответ: Почему мы ошибаемся
Большинство из нас, кто вырос на HTML (не углубляясь в SGML, лежащий в его основе)), пришли к выводу, что строка начинает комментарий, а строка -> завершает комментарий.
Собственно, и > ограничивают декларацию SGML в вашем HTML-документе, например декларацию DOCTYPE, которую мы все видели в верхней части наших страниц. В декларации SGML комментарии разделяются двойным тире. Таким образом, HTML-комментарий
, который, по мнению большинства из нас, разбирается так: это комментарий -> на самом деле разбирается следующим образом:
- это комментарий - > . Это объявление SGML, которое пусто, за исключением комментария.
Поскольку HTML является формой SGML, этот «комментарий в объявлении» функционирует как комментарий HTML.
Ради интереса, вот кусок чистого SGML, который показывает, что комментарии функционируют так, как они были задуманы в SGML: это определение списка атрибутов содержит комментарий к каждой строке:
Большой раздел комментариев, включающий комментарии - HTML и CSS - Форумы SitePoint
, кажется, FF с вами не согласен
Я был готов поверить тебе на слово и снова проверить. Я поставил вашу тестовую разметку:
<тело>
этот p полностью прокомментирован и не должен отображаться
этот p комментируется внутри тега неработающего комментария и будет отображать ->
следует комментировать, но не
->
без комментариев