Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выравнивание блоков разных размеров (https://javascript.ru/forum/misc/56929-vyravnivanie-blokov-raznykh-razmerov.html)

blacklool 10.07.2015 14:16

Выравнивание блоков разных размеров
 
Здравствуйте, вот не раз вижу такого рода выравнивание....
блоки разных размеров строятся так, чтобы не было свободного места и перепрыгиваний...
у этого есть специфическое название? (просто даже не знаю как искать)



Если кто-нибудь знает хорошие статьи на эту тему, или готовые плагины (а то писать такое как-то лень ггг :) ) прошу поделиться! :thanks:

Или просто скажите как это называется, дальше уже сам :victory:

ksa 10.07.2015 14:19

Цитата:

Сообщение от blacklool
Или просто скажите как это называется

Выравнивание элементов по высоте называется "матрас". :)
Цитата:

Сообщение от blacklool
хорошие статьи на эту тему

http://xiper.net/collect/html-and-cs...-ravnoy-visoty

blacklool 10.07.2015 14:31

Цитата:

Сообщение от ksa (Сообщение 378571)
Выравнивание элементов по высоте называется "матрас". :)

xaxaxaxax :haha:

----------------------------------

это не совсем то.... мне нужно заполнять пустое место блоками разных размеров, не изменяя их размер.... как на примере что я дал

ksa 10.07.2015 14:33

Цитата:

Сообщение от blacklool
как на примере что я дал

Когда писал - картинок не видел... :no:

blacklool 10.07.2015 14:36

я просто сначала забыл поставить гггг :dance:

ksa 10.07.2015 14:39

Цитата:

Сообщение от blacklool
как на примере что я дал

Твои картинки никто не расставит... :( Т.к. нужна некая "кратность" их размеров.
Например есть "маленький квадрат"... Остальные картинки либо такие же, либо в два раза больше по высоте и/или длине.
Т.о. их можно как-то сгруппировать в "единое" полотно.

Тут вроде есть похожие варианты
http://postovoy.net/47.html

blacklool 10.07.2015 14:45

Цитата:

Сообщение от ksa (Сообщение 378583)
Твои картинки никто не расставит... :( Т.к. нужна некая "кратность" их размеров.

нуу это принт скрин с одного сайта, так что уже кто то расставил ггг :yes:

но возможно по примерам кода из статьи что ты мне дал можно что нибудь подобное нахимичить

MallSerg 10.07.2015 14:56

https://www.google.ru/webhp?sourceid...BA%D0%BE%D0%B2

blacklool 10.07.2015 14:59

спасибо!

ksa 10.07.2015 15:09

Цитата:

Сообщение от blacklool
нуу это принт скрин с одного сайта, так что уже кто то расставил ггг

Но дюже кособоко... :D

MallSerg 10.07.2015 15:48

=)
https://www.google.ru/webhp?sourceid...BA%D0%BE%D0%B2


1. рассортировать блоки по размеру
2. собрать из блоков строки примерно одинаковой длинны с приблизительно одинаковым числом блоков примерно одинаковых размеров.
3. сдвинуть строки блоков на минимальные расстояния.
4. оценить получившийся результат. сравнить с наилучшим результатом.
5. поменять пару блоков местами установить между блоками минимальные расстояния и снова сравнить результат с лучшим.
Если результат хуже предведущего то вернутся к прежнему состоянию и побывать менять уже другие блоки.

Это будет простейший генетический алгоритм.


В твоем случае картинок реально мало по этому разумнее всего будет использовать брутфорс
т.е. для 8ми картинок это будет всего 256 вариантов и из них можно выбрать лучший.

рони 10.07.2015 17:35

blacklool,
http://packery.metafizzy.co/
http://masonry.desandro.com/

AntonMs 10.07.2015 18:13

Цитата:

мне нужно заполнять пустое место блоками разных размеров, не изменяя их размер....
Возможно Я не правильно понял но мы живем в третьем измерении где это не возможно)

kostyanet 10.07.2015 21:13

Ну да, это общее название выразительного средства - masonry - то есть кладка (каменная).


Часовой пояс GMT +3, время: 07:20.