bikeshedding CSS3 собственост алтернатива?

Има ли алтернатива за свойството bikeshedding CSS3? Изглежда все още не се поддържа.


person Gajus    schedule 14.06.2011    source източник
comment
Това свойство наистина съществува: w3.org/blog/CSS/2011/03 /15/resolutions_152 О_о   -  person Pekka    schedule 15.06.2011
comment
Беше преименуван отново, но го няма в документа css3-text, който свързах. xanthir.com /feed/public-css-commits/   -  person rockerest    schedule 15.06.2011
comment
Това общ въпрос ли е или се опитвате да направите нещо с този имот?   -  person melhosseiny    schedule 15.06.2011
comment
Интересувам се конкретно от bikeshedding: collapse;.   -  person Gajus    schedule 15.06.2011
comment
Бих искал да имам нещо от това, което момчетата от CSS сигурно пушат на срещите си.   -  person Pekka    schedule 15.06.2011
comment
@Guy: Какво конкретно се опитваш да направиш с bikeshedding: collapse?   -  person thirtydot    schedule 15.06.2011
comment
Проблемът възниква, когато има <inline element />\r\n<inline element \>. Прекъсването на реда между двата вградени елемента създава бяло пространство, което се опитвам да премахна. bikeshedding трябваше да направи това. Странно име, bikeshedding, а?   -  person Gajus    schedule 15.06.2011
comment
@Guy: Наясно съм с няколко начина да заобиколя това. Можете ли да направите jsFiddle демо, показващо конкретна ситуация? Дори и да са само два span елемента. Просто искам да съм сигурен, че сме на една страница, благодаря.   -  person thirtydot    schedule 15.06.2011
comment
Вижте разстоянието между два DIV jsfiddle.net/F3Mdd   -  person Gajus    schedule 15.06.2011
comment
Име, свързано с en.wikipedia.org/wiki/Parkinson%27s_law_of_triviality?   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 14.05.2014
comment
възможен дубликат на Как да премахна интервала между елементите на inline-block?   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 14.05.2014


Отговори (4)


Свойството празно пространство

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

  1. normal (Първоначалната стойност).
  2. nowrap

Но какво означават знаците за свиване на ред?

Според CSS 2.1:

Ако 'white-space' е зададено на 'normal' или 'nowrap', символите за подаване на ред се трансформират за целите на изобразяването в един от следните знаци: знак за интервал, знак за интервал с нулева ширина (U+200B) или никакъв знак ( т.е. не е изобразено), според специфични за UA алгоритми, базирани на скрипта за съдържание.

Според CSS 3:

Интервал с нулева ширина преди или след последователност от бели интервали, съдържаща нов ред, кара цялата последователност от празни интервали да се свие в интервал с нулева ширина.

Реалност:

Повечето браузъри трансформират знаците за подаване на ред в интервал. Така че това, което наистина искате, е да зададете свойството white-space-collapsing на discard, а не на collapse или на collapse и след това да добавите интервал с нулева ширина преди прекъсването на реда.

Какво да правите до поддръжка на браузъра

Премахнете празното пространство от вашия HTML документ:

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

To:

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

Or:

<span>A</span><span>
    B</span>
person melhosseiny    schedule 15.06.2011
comment
Всъщност втората представена опция пак ще доведе до интервал между A и B. Само за информация. Все пак добра информация, благодаря! ;) - person CptRobby; 25.07.2013
comment
Можете да преместите празното пространство вътре в етикетите за четливост: <span>A</span [linebreak] ><span>B</span - person Killroy; 08.02.2017

Винаги има най-очевидното решение, което е просто да премахнете празното пространство в HTML:

http://jsfiddle.net/F3Mdd/1/ - наистина е лесно и просто работи . От това:

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

до това:

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

Ето по-подробен отговор.

Честно казано, винаги просто премахвам празното пространство...

person thirtydot    schedule 15.06.2011

Друг подход е просто да изчакате тази функция на CSS3 и да премахнете празното пространство от Javascript дотогава.

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

$('[data-bikeshedding="discard"]').each (function () {
  var node = $(this);
  node.html (node.find ('> *').detach ());
});
person nik    schedule 25.04.2013
comment
Този отговор трябва да е правилният! Обичам го. - person skolind; 22.04.2015

Ако ви разбирам правилно, имате предвид свойството text-spacing.

Доколкото мога да преценя, няма много поддръжка.

person rockerest    schedule 14.06.2011
comment
Във втората връзка не се споменава разредка на текста, така че не съм сигурен как стигнахте до заключението в текста на връзката. - person ikegami; 15.06.2011