Привет,
Я хотел бы создать облако тегов HTML внутри поля, ширина и высота которого полностью определены.
Я хочу, чтобы текст внутри помещался наиболее эффективно - поэтому, если текст будет просто одним словом, слово будет большим и заполнит всю ширину блока (и максимально возможную его высоту). Если бы было четыре слова, они занимали бы пропорционально меньше места, но все равно заполняли бы поле как можно больше.
Перенос слов не требуется; однако необходимо разбить более длинные строки на отдельные строки. Например, если много слов, было бы более эффективно иметь несколько строк одинакового размера вместо длинной одной строки (с небольшим размером шрифта).
Это сложно, потому что я не знаю пиксельных размеров строк, поскольку HTML отображает их. Кто-нибудь может мне помочь с моими расчетами? (Из HTML / CSS известны следующие значения: ширина поля x, высота поля y, размер шрифта f, высота строки шрифта l, расстояние между буквами шрифта s и семейство шрифтов m).
Я мог бы измерить буквы отдельных шрифтов, но это было бы действительно неэффективно. Есть ли более простой способ измерить высоту x и y слова на основе указанных выше переменных?
Дополнительный бонус: я хочу отобразить это облако тегов, используя всю площадь элемента body. Если возможно, я хочу, чтобы слова располагались по центру по вертикали и по горизонтали внутри тела. Я могу написать это, если смогу понять, как построить облако.
Спасибо!
Я должен добавить: я знаю, что легко исправить это использование моноширинного шрифта, такого как Courier. Но для решения проблемы (и, в конечном счете, для эстетики) я хочу использовать Грузию.