А как это поможет одновременно растянуть элемент и сократить его (label) зону действия? Ему обёртку нужно делать для каждого элемента, которую он будет растягивать flex'ом.
Считать строки на CSS — невозможно. Можно только высчитать максимальную высоту по формуле: высоту строки (в em) умножить на 20. Плюс, немного подстроить, добавляя/убавляя десятые доли em, чтобы не было обрезания букв типа «р» в последней строке.
К примеру, если высота строки 1,5, нужно прописать так: max-height: 30em (1,5*20). Но добавить разделительную линию в случае, если блок достиг максимальной высоты, — невозможно. Её можно либо добавить, либо убрать для всех случаев.
partyzanx, а вы уверены, что вам браузеры скажут спасибо за подобного рода вектор? На старых устройствах всё может тормозить люто из-за его сложности. Растеризация такого дела не такая простая задача.
В таких случаях обычно используют растровые изображения.
Michael Gorpinich, я так уже, можно сказать, попался. Решили «вдохновиться» дизайном одного веб-приложения, сделали его, а нам иск прилетел (штат Калифорния). Слава богу, решили мировым соглашением без потерь.