Моноспект шрифт в IE8 игнорирует пространства
-
25-10-2019 - |
Вопрос
Я пытаюсь приобрести моносированное столик ASCI, как видно здесь:u003Cpre>TAG и CSS-Family Family
Это работает для меня во всех браузерах, кроме IE8.
На IE8 все пространства сжимаются в одно пространство. (Итак, столбцы исчезают)
Есть идеи о том, почему IE8 это делает?
Заранее спасибо,
Алекс
Решение
Добавлять white-space:pre
к вашему элементу, чтобы сохранить персонажей белого пространства.
Другие советы
Поведение по умолчанию HTML состоит в том, чтобы сжать несколько белых пространств до одного пространства, если только явно не говорится.
Способ сказать не делать этого, чтобы использовать CSS white-space
имущество. Ценность, которую вы, вероятно, ищете, чтобы установить его на white-space:pre;
, который установит элемент для отображения всех пробелов, не сжимая его.
Вы, конечно, также можете использовать <pre>
пометить себя, который имеет white-space:pre;
установить по умолчанию. Обратите внимание, что это может быть переопределено на ваших таблицах стилей, поэтому, если <pre>
Тег не работает, это, вероятно, причина. (Если это происходит, вы можете использовать окно «Инструменты разработчика» для изучения стилей, применяемых к элементу)
В дополнение к white-space:pre;
, есть пара других ценностей white-space
свойство, которое вы также можете использовать, в зависимости от ваших требований: pre-wrap
а также pre-line
.
Вы можете узнать больше о различиях между ними, с примерами, здесь: http://www.quirksmode.org/css/whitespace.html
Надеюсь, это поможет.
Я попробовал это, и это сработало ... (возможно, это помогает), тогда исправьте все остальное со стилями.
<svg width="600" height="150" font-family="monospace" xml:space="preserve">
<defs>
<style type="text/css">
<![CDATA[ /* ADD CLASSES */
.font{text-anchor: start; font-size: 12px;font-weight: normal; font-family: "DejaVu Sans Mono", sans-serif;white-space: pre-wrap;}
]]>
</style>
</defs>