bikeshedding CSS3 свойство альтернативы? - PullRequest
2 голосов
/ 15 июня 2011

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

Ответы [ 4 ]

11 голосов
/ 15 июня 2011

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

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

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

к этому:

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

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

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

3 голосов
/ 15 июня 2011

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

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

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

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

Согласно CSS 2.1:

Если 'белый-space 'установлено на' normal 'или' nowrap ', символы перевода строки преобразуются для визуализации в один из следующих символов: пробел, пробел нулевой ширины (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>
2 голосов
/ 26 апреля 2013

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

http://jsfiddle.net/rT4Dy/2/

$('[data-bikeshedding="discard"]').each (function () {
  var node = $(this);
  node.html (node.find ('> *').detach ());
});
0 голосов
/ 15 июня 2011

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

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

...