Кратко
СкопированоТег <code> используется для вывода фрагментов программного кода.
Пример
Скопировано
<code> const element = document.getElementById('some-id')</code>
<code>
const element = document.getElementById('some-id')
</code>
Как пишется
СкопированоТег <code> по умолчанию строчный и браузеры не применяют к тексту внутри него никакого форматирования, кроме font, и не подсвечивают синтаксис. Они не анализируют содержимое и не делают никаких предположений, на каком языке программирования написан вставленный код.
Изначально <code> предназначен для вывода информации во фразовом контексте. Например, мы можем вставить код в середину предложения.
<p>Пожалуй, <code>i</code> — самое часто встречающееся имя переменной.</p>
<p>Пожалуй, <code>i</code> — самое часто встречающееся имя переменной.</p>
Если мы хотим вывести блок кода, то нужно дополнительно использовать тег <pre> для вывода кода с сохранением форматирования.
<pre><code> for(let i = 0; i < 10; i++){ console.log(i) }</code></pre>
<pre><code>
for(let i = 0; i < 10; i++){
console.log(i)
}
</code></pre>
Подсветка синтаксиса
СкопированоЕсли мы хотим красивого форматирования и подсветки синтаксиса, мы должны использовать сторонние инструменты и дополнительно пометить код, например, при помощи атрибута class. Для этого обычно используются библиотеки, такие как highlight.js и prism.js.
Например, они генерируют HTML приблизительно такого вида:
<pre class="block-code font-theme font-theme--code" data-lang="html"> <code class="block-code__highlight"> <span class="token keyword">const</span> element <span class="token operator">=</span> <span class="token dom variable">document</span> <span class="token punctuation">.</span> <span class="token method function property-access">getElementById</span> <span class="token punctuation">(</span> <span class="token string">'#some-id'</span> <span class="token punctuation">)</span> </code></pre>
<pre class="block-code font-theme font-theme--code" data-lang="html">
<code class="block-code__highlight">
<span class="token keyword">const</span>
element
<span class="token operator">=</span>
<span class="token dom variable">document</span>
<span class="token punctuation">.</span>
<span class="token method function property-access">getElementById</span>
<span class="token punctuation">(</span>
<span class="token string">'#some-id'</span>
<span class="token punctuation">)</span>
</code>
</pre>
А пользователи его увидят так:
const element = document.getElementById('some-id')
const element = document.getElementById('some-id')
Этот пример кода был обёрнут в теги <pre> и <code> (вы можете проверить это, выбрав фрагмент в инспекторе элементов), а подсветку синтаксиса обеспечила библиотека prism.js.
Доступность
СкопированоУ <code> есть встроенная роль code. Хотя скринридеры пока не рассказывают о ней пользователям и не изменяют режим взаимодействия с таким содержимым, роль добавляет тегу семантический вес.
Как понять
Скопировано<code> используется для вывода любой информации, которая может быть обработана компьютером как программный код. Помимо непосредственно кода, сюда также относятся названия файлов, конфигурационные файлы, XML-элементы и т. д.