Документация HTML5 рекомендует помещать элемент code внутри элемента pre, но я не понимаю, как это лучше или более семантично, чем просто использовать элемент кода и CSS. В собственном примере:
<pre><code class="language-pascal">var i: Integer;
begin
i := 1;
end.</code></pre>
Также можно написать (сделав некоторые предположения о настройках браузера по умолчанию для pre):
<style>
code {
display: block;
white-space: pre;
}
</style>
…
<code class="language-pascal">var i: Integer;
begin
i := 1;
end.</code>
Даже если pre существует, чтобы отличить блок кода от встроенной строки кода, я не вижу, что это более семантический выбор, чем указание блочности code в классе.
Есть ли конкретная причина, по которой рекомендуется pre в решении CSS?