создание тегов браузеры закрывают абзацы 

У меня проблема с HTML ниже:

<html>
  <body>
    <p style="font-size: large"> 
        Some paragraph text 
        <span><pre style="display:inline">some span text</pre></span> 
        additional paragraph text that continues ...
    </p>

  </body>
</html>

это просто абзац, который содержит некоторый предварительно отформатированный текст посередине. У меня проблема в том, что и Opera, и Chrome не отображают это так, как я ожидаю. В частности, они закрывают тег абзаца перед интервалом и вводят новую строку. WTH?!

Использование опций просмотра HTML в цветах показывает, что тег

закрывается и вместо вложенного [ вставляется пустой . 11119781] <предварительно> . Если интервал удален, Chrome все еще закрывает тег

, вызывая новую строку.

Мне нужно отобразить следующую структуру тегов без принудительного перевода строк

      . Это вообще возможно или есть другой вариант или обходной путь? 

РЕДАКТИРОВАТЬ: Я заблокирован наличием тега

 , поскольку он является частью плагина подсветки синтаксиса для wordpress. 

ПРИМЕЧАНИЕ: Я думаю, что лучший совет здесь - проверить ваш HTML. Многие проблемы у меня были из-за некорректного HTML, который корректно обрабатывался некоторыми браузерами, а не грациозно другими. Проверка означает, что у вас есть чистый лист для работы.

6
задан radman 18 August 2010 в 04:39
поделиться

3 ответа

Полностью избавьтесь от тега pre и просто укажите свой ] span style = "white-space: pre" . См. на этой странице описание других параметров пробелов .

  в основном говорит  
; вам нужно .

11
ответ дан 8 December 2019 в 12:57
поделиться

Теги абзаца не могут содержать элементы уровня блока:

http://www.w3.org/TR/html401/struct/text.html#h-9.3.1

pre - это блок элемент уровня.

Вместо этого вы можете установить стиль CSS white-space: pre для диапазона, если хотите, чтобы во встроенном элементе было поведение, подобное pre .

6
ответ дан 8 December 2019 в 12:57
поделиться

pre — это элемент блочного уровня, он не может находиться внутри span, если память не изменяет.

Вы можете узнать это, проверив свой HTML-код.

1
ответ дан 8 December 2019 в 12:57
поделиться