...с точки зрения построения грида на inline-block элементах неверна, т.к. здесь много лишних пробельных символов, целых три группы: вокруг колонок, как между, так и по краям, рядом с тегами родительского контейнера. Крайние конечно не имеют значения, но выглядит это всё так.
Можно попросить CSS игнорировать текстовые переносы, тогда станет так. Текстовые ноды всё равно видны.
Как я уже говорил, достаточно в исходном коде убрать группы пробельных символов между тегами, тогда всё встанет на свои места: вот так.
Я не утверждаю, но мне кажется, что jade для этого не подходит, т.к. он whitespace-sensitive, но всё же, думаю, если вы хотите кроссбраузерно (IE8+) использовать простые и понятные гриды, есть смысл запариться с адаптацией этого подхода к используемому вами инструменту верстки. И сам тоже к сожалению не знаю, как можно уломать janejade на такое.
Никита Кит: я понял о чем вы. Вы просто сдвигаете колонки вместо того, чтоб избавляться от промежуточных текстовых нод с пробелами; font-size: 0 не канает уже для первого уровня вложенности. Такое происходит ввиду режима inline-block: т.к. блоки строчные, все символы имеют значение, в том числе пробельные (\n\t\r в исходном коде) - они группируются в ноды, имеющие ненулевую ширину. Вот.
Для создания гридов с помощью inline-block просто убирают лишние \n\t\r. Обычно такое используют при верстке с использованием шаблонизаторов, сборщиков и прочего софта, осуществляющего генерацию кода; руками конечно это не очень приятно делать. В самом простом варианте это выглядит так.
Никита Кит: во-первых, почему лажа? inline-block это вроде бы норм. Расскажите какие у вас с ним проблемы, очень интересно.
Во-вторых, по поводу float мне тоже кажется, что вы просто не учли какой-то мелочи, потому что я ни разу не видел, чтобы с ним были нерешаемые проблемы такого рода.
Если покажете пример и того и другого - было бы очень круто.
Объясню свой интерес: я использую оба варианта и никогда с ними не было никаких проблем.
Во-первых, мне кажется проще изначально верстать по-другому, чем скриптами исправлять недочёты выбранного вами варианта верстки. Во-вторых, я понимаю конечно что это ваша вёрстка, вы в ней знаете какие элементы за что отвечают и знаете какие элементы floated, а какие - нет. Но всё же Брать все элементы с css('float') - это какая-то дичь. Вероятно, проще было бы на нужные элементы/контейнеры повесить классы, на которые можно было бы опираться. Кстати, если я не ошибаюсь, по запросу jquery equal height можно найти готовые скрипты в интернетах.
Прямо невозможно? Вроде бы здесь написано, что main purpose of recursion [in regex] is to match balanced constructs or nested constructs; разве это не о том речь?
И да, вы правы, можно разбить всё это дело на этапы, но, как я уже писал в комментариях ниже, использование единственного регулярного выражения позволило бы использовать нативный для саблайма find/replace, это было бы очень круто.
Таки да, чисто теоретически это вариант конечно, но на практике подобное нужно осуществить для нескольких сотен файликов. Можно конечно нодой, но все же одной регуляркой было бы удобнее.
Это-то да, это не проблема, но подобное нужно сделать в текстовом редакторе, который умеет в boost - в саблайме. Конечно и тут можно сделать в два этапа, как вручную, так и скриптами, но всё же было бы гораздо удобнее делать это всего одной регуляркой. Один из плюсов - можно нативным для саблайма способом осуществить замену по любому количеству файлов.
По такому поводу реквестирую создание на тостере рубрики best of the best, ибо подобные ответы, несмотря на их качество и полезность, остаются в небытии. А жаль.