У меня есть блоки фиксированной ширины в разметке и выравнивании текста: обоснуйте их с этим опубликованным решением:
Ширина жидкости с одинаково расположенными DIVs
Но так как у меня есть еще несколько строк в адаптивном макете.
Это конечно бывает:
------ ------ ------ ------
| | | | | | | |
| | | | | | | |
------ ------ ------ ------
------ ------ ------ ------
| | | | | | | |
| | | | | | | |
------ ------ ------ ------
------ ------ ------
| | | | | |
| | | | | |
------ ------ ------
Но мне нравится, когда это так:
------ ------ ------ ------
| | | | | | | |
| | | | | | | |
------ ------ ------ ------
------ ------ ------ ------
| | | | | | | |
| | | | | | | |
------ ------ ------ ------
------ ------ ------
| | | | | |
| | | | | |
------ ------ ------
Конечно, оправдывает ли это свою работу, но есть ли решение этой проблемы без использования javascript для этого?
Я думал, что text-align-last: left может работать, но это не так, и пока это не официально.
Идея возможного решения:
Я придумала возможное решение для JavaScript, но для этого мне нужна ваша помощь.
Вот моя идея возможного решения:
Чтобы выровнять последнюю строку по левому краю, нам фактически нужно заполнить эти пропущенные места невидимыми прямоугольниками. Мы могли бы легко сделать это вручную, но число элементов div генерируется пользователем и всегда различно.
Таким образом, сорнякам нужно знать количество пропущенных ящиков и добавить их к тем, которые у нас уже есть, чтобы это работало:
Итак, вот моя (инфантильная) идея написания текста:
1. Count all divs
2. Divide them with 4 (cause we have 4 in a row)
3. If the SolutionA has no decimal, nothing will happen cause all is good
4. If the SolutionA has a decimal, remove it
5. SolutionA + 1 = SolutionB
6. SolutionB x 4 (cause we have 4 each in a row) = SolutionC
7. SolutionC - SolutionA = Number of divs we need to add.
Я не знаю, есть ли способ узнать, сколько элементов уже в строке, чтобы передать это в javascript. Это было бы хорошо, потому что тогда формуляр работал бы для адаптивного макета, не корректируя номер строки при каждом изменении ширины браузера.
Это хорошая идея?
Надеюсь, некоторые захотят это сделать.
Вот скрипка для работы: http://jsfiddle.net/L2mPf/
Спасибо.
См. Мой ответ за пределами.