JavaRush /Курсы /Модуль 1: Web Core /Теги для текста и кода

Теги для текста и кода

Модуль 1: Web Core
3 уровень , 1 лекция
Открыта

2.1 Тег <pre>

Теги <code> и <pre> используются в HTML для представления фрагментов кода и предварительно отформатированного текста. Они позволяют улучшить читаемость и сохранить форматирование исходного текста, что особенно полезно для отображения примеров кода и других технических материалов.

Тег <pre> (сокращение от "preformatted text") используется для отображения текста в HTML в том виде, в каком он написан, сохраняя все пробелы, переводы строк и табуляции. Это особенно полезно для представления больших фрагментов кода или другого предварительно отформатированного текста.

Синтаксис:

    
      <pre>
        текст
      </pre>
    
  

Пример:

HTML
    
      <pre>
        function sayHello() {
          console.log("Hello, world!");
        }
      </pre>
    
  

В этом примере текст внутри тега <pre> будет отображаться с сохранением всех пробелов и перевода строк, как он написан в исходном коде.

Особенности тега <pre>:

  • Тег <pre> сохраняет все пробелы и переносы строк в тексте
  • Он отображает текст в моноширинном шрифте
  • Часто используется вместе с тегом <code> для выделения кода

2.2 Тег <code>

Тег <code> используется для обозначения фрагментов кода или других машинно-читаемых данных внутри текста. Он обычно применяется для выделения строк кода, переменных, функции и других элементов программирования.

    
      <code>код</code>
    
  

Пример:

HTML
    
      <p>Чтобы вывести сообщение в консоль, используйте функцию <code>console.log()</code>.</p>
    
  

В этом примере текст "console.log()" будет выделен как код.

Особенности тега <code>:

  • Тег <code> отображает текст в моноширинном шрифте (обычно Courier или Consolas)
  • Он не сохраняет форматирование, такое как переносы строк или отступы
  • Тег <code> часто используется внутри других тегов, таких как <p>, <li> или <pre>

2.3 Использование <pre> и <code>

Для выделения и форматирования больших блоков кода часто используются теги <pre> и <code> вместе. Это позволяет сохранить форматирование и выделить текст как код.

Пример:

HTML
    
      <pre><code>
function helloWorld() {
  console.log('Hello, world!');
}
      </code></pre>
    
  
HTML
    
      <pre>
        <code>
          function helloWorld() {
            console.log('Hello, world!');
          }
        </code>
      </pre>
    
  

В результате браузер отобразит текст с сохранением форматирования и выделением кода.

2.4 Подсветки синтаксиса

Для подсветки синтаксиса можно использовать сторонние библиотеки, такие как Prism.js или Highlight.js, которые автоматически распознают и подсвечивают синтаксис кода на веб-странице.

Пример использования Highlight.js:

HTML
    
      <html>
        <head>
          <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/styles/default.min.css">
          <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/highlight.min.js"></script>
          <script>hljs.initHighlightingOnLoad();</script>
        </head>
        <body>
          <pre><code>
function helloWorld() {
  console.log('Hello, world!');
}
          </code></pre>
        <body>
      </html>
    
  
HTML
    
      <html>
        <head>
          <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/styles/default.min.css">
          <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/highlight.min.js"></script>
          <script>hljs.initHighlightingOnLoad();</script>
        </head>
        <body>
          <pre>
            <code>
              function helloWorld() {
                console.log('Hello, world!');
              }
            </code>
          </pre>
        <body>
      </html>
    
  

В результате блок кода будет автоматически подсвечен в соответствии с синтаксисом JavaScript.

Теги <code> и <pre> в HTML — это мощные инструменты для отображения и форматирования кода и других текстов с сохранением исходного форматирования. Пользуйтесь с удовольствием.

1
Задача
Модуль 1: Web Core, 3 уровень, 1 лекция
Недоступна
Использование тега <pre>
Использование тега <pre>
1
Задача
Модуль 1: Web Core, 3 уровень, 1 лекция
Недоступна
Теги <pre> и <code>
Теги <pre> и <code>
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vadim Makarenko Уровень 42
24 декабря 2024
Мне было не понятно, зачем вкладывать тег CODE в PRE, если каждый из них сам по себе способен выполнять ту же функцию. Разобрался! Сам по себе тег CODE лишь делает помещённый в него текст моноширным шрифтом, что, в частности, принято для кода программ. Тег PRE сам по себе предназначен для сохранения форматирования (в том числе любого числа пробелов, без их схлопывания) ЛЮБОГО текста. Поэтому, оборачивая тег PRE вокруг CODE, мы решаем 2 задачи: сохраняем форматирование и придаём тексту стиль кода, делая шрифт моноширным. Ещё один нюанс: текст в теге CODE отображается частью строки наружного текста, встраивается в него, а текст в PRE отображается в виде отдельного параграфа.
Павел Уровень 19 Expert
6 января 2025
А еще у меня при использовании тегов <pre> <code> по отдельности Highlight.js не выполняла подсветку кода.
12 февраля 2025
Логично же.. <pre> тег который отображает лишь отступы и текст, и Highlight.js знать не знает что в этом теге имеется так, как подсвечивает "Синтаксис яп" соответственно <code> говорит Highlight.js что текст является кодом и происходит подсветка - СОГЛАСНО ЯП-ния КОТОРЫЙ ТЫ УКАЗАЛ В КЛАССЕ ТЕГА <code> Если подсветка только с тегом <code> не отобразирать то возможно элементы которые указал имеют стандартный цвет.. попробуй использовать базовую однострочную функцию (т.к. <code> без <pre> выдеяет только строчную область а не блочную). <code class="language-javascript">console.log()</code> как раз судя по этой конструкции видно что только тег <code> связан с твоей библиотекой Highlight.js