![]() |
Если они понимаются одинаково всеми браузерами, то почему Чикуенок так мучался (http://chikuyonok.ru/2011/04/inline-vertical-align/) и что-то изобретал? И остальные тоже - http://habrahabr.ru/blogs/css/117109/ .
IE так до версии 9 вообще не понимал что у inline-block может быть высота. Не претендую на то, чтобы учить, просто к здравому смыслу призываю. |
А где он мучался-то? Очень правильно применил inline-block для решения своей задачи.
Для выравнивания по вертикали добавляется vertical-align: top и всё замечательно. Что касается фразы «Вот только это не работает в Firefox 2, IE 6 и 7» (по ссылке на хабр) Во-первых на FF2 и IE6 я не ориентируюсь, а для IE7 просто включается hasLayout. Насчёт IE, inline-block и высоты — ерунда. Учите матчасть. Продолжать будем? Я вёрстку уже сделал и другие варианты меня не устраивают, мне просто нужен ответ на мой вопрос. |
C термином "верстка под CMS" надо знакомиться вдумчивее :) Если что-то не получается простым путем без использования "хаков", то, на мой взгляд, надо заходить с другой стороны. В данном случае с изменения верстки, потому что пробельные символы, которые окружают inline-block ведут себя неоднозначно даже и в ff4, из-за чего, скорее всего, и возникает необходимость вставить пробел или любой другой пробельный символ.
Из легких вариантов могу посоветовать поставить sourceopt и включить в нем Format HTML -> Logic line breaks (all box-elements). Скорее всего сработает и все li будут на новой строке каждый. |
Не знал, что вставка во враппер пробельного символа является «непростым путём с использованием „хакков“» :D
Цитата:
В любом случае, вёрстка и CMS не должны зависеть друг от друга. Этого я натерпелся когда перевёрстывал однажды PHPbb. Бррр… Спасибо за sourceopt. Много было оффтопа и наконец-то хоть какой-то ответ по теме! |
Хаком я назвал именно использование чего-то не входящего в "стандартную поставку".
Про пробельные символы развернуто ниже, а "необходимость вставить" - имел в виду ваш случай. Количество пробелов, на мой взгляд, да и в принципе, не должно влиять на расстояние между inline элементами (такое поведение нормально и именно так себя ведут span, b, i, strong, img и т.д.), но в случае указания inline-block для любого элемента начинаются чудеса - если после такого элемента есть пробел, то появляется отступ одного размера, если пробела нет - отступ другого размера, при этом избавится от него и как-то его контролировать практически нереально (я не беру опытов с отрицательным margin и т.п.), причем происходит это в любых браузерах. Из этого я делаю вывод что использовать inline-block не особенно удобно и зачастую проще сделать другой вариант верстки, нежели искать пути сделать inline-block адекватно работающим. Кстати, соглашусь что верстка и cms не должны зависеть друг от друга, но для этого сама верстка должна быть "пуленепробиваемой" на всех уровнях, а это в некоторых случаях не так. |
Так, извиняюсь за панику. Лох я. Забыл убрать white-space: nowrap вот у меня и не переносилось. На самом деле всё работает и пробел после </li> не нужен. :)
Насчёт пробелов между inline-block лучше делать так: Код:
ul{ |
Учитывая что все font-size идут в em, то это не самый удачный вариант. Проще использовать гарантированно работающие float и position :)
|
Опять em… Ну зачем em?!! :O Это что, всеобщая паранойя?!
|
Почему паранойя? Скорее уж мания, хоть чем так страшно использовать em - непонятно. Для тянущихся дизайнов лучше все-таки подходят em и проценты, чем фиксированные значения. Разве не так?
|
Цитата:
wrap( <li> | </li> ) |
Часовой пояс GMT +4, время: 20:02. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot