Weinaum
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mavrikii ну подробнее, я хочу - вот пример - чтобы каждый из пунктов меню был бы не в одну, а в 2 строки. Что я заметил. В показанном примере меню-пункты длинные. Потому при просмотре на экранах больше таблетов но меньше больших десктопов (на ноутах например) будет или одна большая строка или будет стандартный перенос html wrap. После такого переноса все выровнено очень плохо, одни пункты могут быть в одну строку, другие в 2, а какие то в 3. К тому же выравнивание по горизонтали выглядит не очень в таком случае, вот что я имею в виду(выделил background цветом, чтобы понятнее было.) https://codepen.io/lagudal/pen/ExjjdKP Но если я задам для элементов white-space: nowrap и принудительные br, то все выглядит гораздо ровнее. В сами эти меню пункты на уровне html поставить разделители нельзя, поэтому остается js. В настоящее время я все это делаю простой заменой контента, но если пункты меню по какой то причине изменятся, удалятся, добавятся новые, то придется снова это проделывать. Вот и пришла мысль сделать перенос после первого знака препинания, но не средствами css, a js. Т.е. для первого меню пункта первым знаком препинания и условием переноса на новую строку будет зяпятая после слова "Etiktettendrucker", для второго - дефис после слова "Thermotransfer", для третьего - пробел после слова "Etiketten", ну и тд. Логически я понимаю, что просто все вроде бы - по каждому элементу по всей длине символов пробегаем например while циклом, и если встречается один из символов,которые я назначил препинаниями, то добавить после него символ переноса и сразу break из цикла. Но хромаю в js, в символах особенно, поэтому вот прошу помощи. upd Вот с грехом пополам для одного что получилось - https://codepen.io/lagudal/pen/OJVvjQo осталось добавить логические условия и циклом по всем пройтись.. | Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 13:15 13-03-2020 | Исправлено: Weinaum, 17:24 13-03-2020 |
|