Вопрос

Есть ли альтернатива для bikeshedding CSS3 собственность? Это пока не поддерживается.

Это было полезно?

Решение

Свойство белого пространства

В CSS3, white-space недвижимость является сокращением для white-space-collapsing (Наверное bikeshedding означает, что они еще не знают, как это называть) и text-wrap характеристики. А white-space Собственность - это свойство CSS 2.1, поддерживаемое большинством браузеров, и есть два значения для него, которые разрушают новые линии:

  1. normal (Начальное значение).
  2. nowrap

Но что означают символы подачи линейных кормов?

Согласно CSS 2.1:

Если «белое пространство» установлено на «нормальное» или «nowrap», символы LineFeed преобразуются для визуализации цели в один из следующих символов: символ пространства, символ пространства с нулевой шириной (U+200b) или нет символа ( т.е. не отображается), согласно UA-специфическим алгоритмам на основе сценария контента.

Согласно CSS 3:

Ноль ширина пробела до или после последовательности белого пространства, содержащей новую линию, заставляет всю последовательность белого пространства падать в пространство нулевой ширины.

Реальность:

Большинство браузеров превращают символы линии в пространство. Анкет Так что вы действительно хотите установить white-space-collapsing собственность discard нет collapse или collapse и затем добавьте символ пространства с нулевой шириной перед разрывом линии.

Что делать до поддержки браузера

Удалите белое пространство из вашего HTML-документа:

<span>A</span>
<span>B</span>

К:

<span>A</span><span>B</span>

Или же:

<span>A</span><span>
    B</span>

Другие советы

Всегда есть самое очевидное исправление, которое состоит в том, чтобы просто удалить пробелы в HTML:

http://jsfiddle.net/f3mdd/1/ - Это действительно легко, и это просто работает. Из этого:

<div>a</div>
<div>a</div>

к этому:

<div>a</div><div>a</div>

Вот более подробный отвечать.

Честно говоря, я всегда просто удаляю пробелы ...

Другой подход - просто дождаться этой функции CSS3 и удалить пробелы с помощью JavaScript до тех пор.

http://jsfiddle.net/rt4dy/2/

$('[data-bikeshedding="discard"]').each (function () {
  var node = $(this);
  node.html (node.find ('> *').detach ());
});

Если я правильно вас понимаю, вы имеете в виду text-spacing имущество.

Насколько я могу судить, не так много поддержки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top