Всем привет. Возможно для Вас это не проблема, но я уже себе весь мозг сломал, пальцы стерты до дыр после гугления, и все что имеется у меня на данный момент это несколько совсем некрасивых решений .
Задача
У нас есть меню, состоящее из 5 (количество пунктов может меняться) пунктов. Нужно чтобы первый пункт выл у самого левого края. А последний у правого. И расстояние между пунктами было одинаковым.
Вы скажете, а что если правому задать выравнивание по правому краю, левому, по левому, а остальным по центру. Я скажу что это не подходит, так как между 1 и 2, 4 и 5 ссылкой, будет больше пространство, чем между остальными.
Плохие решения
Первое придуманное мной решение, банальное но самое неудобное. Это задать всем элементам отступ на глаз, а потом когда меню измениться, вспомнить что я задавал отступы на глаз. Мне это решение не нравиться... Универсальности нет.
Второе решение уже получше Допустим что ширина блока в который нам нужно вставить это меню, фиксированная, тогда получаем такую формулу: (Ширина блока - (количество символов в меню*среднюю ширину символа))/среднюю ширину символа/(количество пунктов меню - 1) то получим количество символов которое надо вставить между пунктами. Проблемы этого решения в том, что буквы Щ и ь имеют разную ширину... + много лишних пробелов... В общем тоже не подходит.
Третье решение. Совсем хорошо, но не радует наличие картинки...
"Использовать выравнивание текста justify. Если объяснять коротко, то после применения выравнивания justify все строки текста, кроме последней растягиваются на всю возможную ширину блока, по этому, для получения нужного эффекта нам нужно растянуть только одну строку. Мы добавляем длинный строковый inline элемент, который не помещается в первой строке и, следовательно, переносится на вторую, заставляя тем самым первую (наше меню) растянутся по всей ширине. В качестве такого элемента можно использовать пустой рисунок (Обычной называют blank.gif имеющий размер 1×1 пиксель) или любой строковый элемент с большим значением отступа."
Сколько не пытался вставить любой строковый элемент с большим отступом, у меня последний пункт уезжает на следующую строчку. Если кто нибудь знает как сделать правильно, пишите. И тогда это будет Идеальное решение.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
pizzZ
Вступление
Всем привет. Возможно для Вас это не проблема, но я уже себе весь мозг сломал, пальцы стерты до дыр после гугления, и все что имеется у меня на данный момент это несколько совсем некрасивых решений .
Задача
У нас есть меню, состоящее из 5 (количество пунктов может меняться) пунктов. Нужно чтобы первый пункт выл у самого левого края. А последний у правого. И расстояние между пунктами было одинаковым.
Вот пример:
Где | это край к которому должны быть прибиты элементы.
Если использовать выравнивание по центру то получим:
к краям.
Проблема в том что они не прибиты
Вы скажете, а что если правому задать выравнивание по правому краю, левому, по левому, а остальным по центру. Я скажу что это не подходит, так как между 1 и 2, 4 и 5 ссылкой, будет больше пространство, чем между остальными.
Плохие решения
Первое придуманное мной решение, банальное но самое неудобное. Это задать всем элементам отступ на глаз, а потом когда меню измениться, вспомнить что я задавал отступы на глаз. Мне это решение не нравиться... Универсальности нет.
Второе решение уже получше Допустим что ширина блока в который нам нужно вставить это меню, фиксированная, тогда получаем такую формулу: (Ширина блока - (количество символов в меню*среднюю ширину символа))/среднюю ширину символа/(количество пунктов меню - 1) то получим количество символов которое надо вставить между пунктами. Проблемы этого решения в том, что буквы Щ и ь имеют разную ширину... + много лишних пробелов... В общем тоже не подходит.
Третье решение. Совсем хорошо, но не радует наличие картинки...
Нашел здесь
Код:
Вот что пишет автор:
"Использовать выравнивание текста justify. Если объяснять коротко, то после применения выравнивания justify все строки текста, кроме последней растягиваются на всю возможную ширину блока, по этому, для получения нужного эффекта нам нужно растянуть только одну строку. Мы добавляем длинный строковый inline элемент, который не помещается в первой строке и, следовательно, переносится на вторую, заставляя тем самым первую (наше меню) растянутся по всей ширине. В качестве такого элемента можно использовать пустой рисунок (Обычной называют blank.gif имеющий размер 1×1 пиксель) или любой строковый элемент с большим значением отступа."
Сколько не пытался вставить любой строковый элемент с большим отступом, у меня последний пункт уезжает на следующую строчку. Если кто нибудь знает как сделать правильно, пишите. И тогда это будет Идеальное решение.
Идеальное решение
Пока не найдено, но надеюсь, что мы его найдем.
Найденные ссылки по теме.
Блок картинок выровненный по левой и правой стороне
P,S,
Ушел дальше думать, найду решение, отпишусь здесь.
Edited by pizzZLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.