Превьюшки бывают четырёх типов:
И каждый, кто создает галерею задается вопросом:«сколько вешат граммов?» «сколько превью разместить по дефолту в галерее?»
Если у вас изображения c разным соотношением сторон и «свободный контейнер» и вы используете 1, 2 или 4й (если такой тип с его дизайнерами еще не вымерли в вебе), то эта заметка вам погоды не сделает. Но если вы используете 3й тип, или используете 1 или 2 и все изображения имеют у вас одинаковое соотношения сторон, то вам сюда.
Когда у вас резиновый дизайн, то превьюшки плавно растекаются по свободному пространству. Это выглядит очень круто до того момента, пока юзер не долистал до самого низа. Далее он видит переход на следующую страницу и… «лесенку» или «зуб», это последние несколько превьюшек, которые выпирают из общей сетки. Вот в этот момент люди начитают использовать трюки с CSS, центрировать их, в общем окунаются по полной для достижения идеального дизайна. Или используют на masonry вот такой жестокий трюк с котятами, все равно подчищая хвосты… Компьютерныйбоже им судья.
Мои же личные фломастеры со сгрызенными колпачками и выпитыми чернилами предпочитают фиксированные галереи где есть отступ между картинками и с краев. Вот такие вот:
Я использую masonry и magnific popup, а дефолтное количество изображений в моих галереях — 60.
Шестьдесят (60), это число, которое делится без остатка на 2, 3, 4, 5 и 6 и, конечно же, на 1.
Сея магия чисел позволяет вам охватить аудиторию от «мобильников» до широкоформатников без искажения и прочей безконтрольной езды дизайна вашей галереи.
Конечно, на вкус и цвет есть гугл и яндекс, есть лебедев и есть «каждый третий гуру», но в плане создания простой галереи без ломания головы сей трюк (60!) вам непременно сослужит добрую службу.
Превьюшки на примерах имеют размер 160 на 300 пикселей. Мое личное наблюдения как очкарика, 300 пикселей по длине и % масштаб по высоте очень удобное и компактное решение. Таким образом 60 превьюшек в 80м качестве imagemagick займут у вас около 600кб траффика (от 8 до 12кб на каждую), которые можно ловко обернуть в lazyload как на этом примере (я не автор примера!).
З.Ы, без прав рекламы — лучшие фломастеры это детские. Их можно грызть, перемазать язык и зубы без шанса отравится. Данный метод дает +2 к алгоритмам, ибо мозг работает лучше. Ух лучше их, чемчипсы орешки.
Про магию числа 69 иего её практическое применение я расскажу в следующих статьях.
upd: с картинками какая-то ерунда. Я их вставляю, далее хабр пытается что-то сделать и выдает
теперь с hsto
- фиксированные по длине и % по высоте от оригинала
- фиксированные по высоте и % по длине от того же оригинала
- фиксированные по длине и высоте (с обрезанием части после масштабирования, которая не вписана, например 300х150)
- процентный масштаб (25% от оригинала, к примеру)
И каждый, кто создает галерею задается вопросом:
Если у вас изображения c разным соотношением сторон и «свободный контейнер» и вы используете 1, 2 или 4й (если такой тип с его дизайнерами еще не вымерли в вебе), то эта заметка вам погоды не сделает. Но если вы используете 3й тип, или используете 1 или 2 и все изображения имеют у вас одинаковое соотношения сторон, то вам сюда.
Когда у вас резиновый дизайн, то превьюшки плавно растекаются по свободному пространству. Это выглядит очень круто до того момента, пока юзер не долистал до самого низа. Далее он видит переход на следующую страницу и… «лесенку» или «зуб», это последние несколько превьюшек, которые выпирают из общей сетки. Вот в этот момент люди начитают использовать трюки с CSS, центрировать их, в общем окунаются по полной для достижения идеального дизайна. Или используют на masonry вот такой жестокий трюк с котятами, все равно подчищая хвосты… Компьютерныйбоже им судья.
Мои же личные фломастеры со сгрызенными колпачками и выпитыми чернилами предпочитают фиксированные галереи где есть отступ между картинками и с краев. Вот такие вот:
Я использую masonry и magnific popup, а дефолтное количество изображений в моих галереях — 60.
Шестьдесят (60), это число, которое делится без остатка на 2, 3, 4, 5 и 6 и, конечно же, на 1.
Сея магия чисел позволяет вам охватить аудиторию от «мобильников» до широкоформатников без искажения и прочей безконтрольной езды дизайна вашей галереи.
Конечно, на вкус и цвет есть гугл и яндекс, есть лебедев и есть «каждый третий гуру», но в плане создания простой галереи без ломания головы сей трюк (60!) вам непременно сослужит добрую службу.
Превьюшки на примерах имеют размер 160 на 300 пикселей. Мое личное наблюдения как очкарика, 300 пикселей по длине и % масштаб по высоте очень удобное и компактное решение. Таким образом 60 превьюшек в 80м качестве imagemagick займут у вас около 600кб траффика (от 8 до 12кб на каждую), которые можно ловко обернуть в lazyload как на этом примере (я не автор примера!).
З.Ы, без прав рекламы — лучшие фломастеры это детские. Их можно грызть, перемазать язык и зубы без шанса отравится. Данный метод дает +2 к алгоритмам, ибо мозг работает лучше. Ух лучше их, чем
Про магию числа 69 и
<img src="1449681149734756164123" alt="image"/>
Комментарии (17)
stychos
10.12.2015 03:42+1И ещё уже можно использовать flexbox вместо float: left.
firya
10.12.2015 13:21+3Кому можно? Если пилишь свой проект и плевать на пару процентов пользователей – можно! Если реализуешь чужой проект с указанными требованиями то нельзя
stychos
10.12.2015 16:48Выдыхайте, кто мешает использовать fallback?
dom1n1k
10.12.2015 18:49+1И поддерживать две версии верстки, когда старый вариант решает проблему полностью.
stychos
10.12.2015 18:58Кто мешает написать
display: inline-block; display: flex; /* ... */
Или Вам нужна поддержка ie6?
Я балдею с этих людей, когда им показывают проект на php, независимо от того, что и как там реализовано они начинают плеваться фразами «шёл двадцать первый век, где композер?!», а когда этим же людям говоришь «float: left устарел» — начинаются абстрактные рассуждения на тему того, что он всё ещё торт. Сударе, float: left используется не по назначению, он давно устарел, шёл двадцать первый век.dom1n1k
10.12.2015 19:55Нуу… если эта единственная строчка считается полноценным фоллбеком… то разговор просто теряет смысл.
Нормальный, полноценный, правильно работающий фоллбек делается на тех же флоатах.
А это —говнокод«и та-а-ак пойдет».
stardust_kid
А почему не 48?
zagayevskiy
не делится на 5?
nikitasius
48/5=?
stardust_kid
Зато делится на 12, 16 и 24.
nikitasius
а 143003561 делится только на 143003561.
Смысл в делении: от самого малого 2(1) до сколько получится в бОльшую сторону. Используя 60 превьюшек на «резиновом» сайте у вас всегда будет до 6 элементов на ряд без «ломки» сетки. При размере превьюшки в 300 пикселей это покроет fullHD экран. И у человека не будет пропусков внизу.
stardust_kid
Все равно шаманство это, проще vh использовать и content aware css selectors.
nikitasius
Не знаю что это такое, напишите годную статью на хабр, если еще нет.
А так да, магия числа 60. Чем проще — тем лучше!
zagayevskiy
Мне больше нравится 1000000000000066600000000000001, которое тоже делится только на себя=)