EDIT (2017): Flexbox с намоткой display: flex; flex-wrap: wrap
совместим с IE10 + (и Android 4.4+) и обеспечивает универсальное выравнивание как по горизонтали (выровнено, по левому или правому краю, space-around
, по центру), так и по вертикали (align-items
) с также универсальным интервалом между строками (align-content
… если в общем случае установлена высота).
Бонус: нет ~ 4px пробелов между элементами, о которых нужно заботиться, как при inline-block
.Вы делаете в основном то, что хотите: без водостоков, flex: 1 1 auto
или padding: 1rem
, например
Шпилька для Flexbox по трюкам CSS
/ EDIT
Span не кажется слишком семантическим, может быть, использовать неупорядоченный список?
Если я хорошо понял вашу проблему, вы хотите, чтобы столько строк соответствовало каждой строке, но не занимало бы промежуток, начиная с строки и заканчивая строкой.другая строка?
Тогда следующая скрипка: http://jsfiddle.net/MRR6P/ сделает свое дело.Попробуйте
span {
line-height: 1.8;
word-wrap: normal;
display: inline-block;
}