Я заметил, что при показе фотографий из альбомов Facebook в Интернете умнее обнаруживает ваш экран и выбирает правую миниатюрную фотографию, а затем выбирает правильную ширину и высоту для элемента img.
Я использовал инструменты для создания хрома для просмотра естественной и отображаемой ширины и высоты изображений в Facebook.
Вот пример фотографии, просматриваемой на мониторе 20.41 "x 12.8" при разрешении 1600x1200
http://cl.ly/image/3T2z0K2p0z2X
Обратите внимание, что в нем упоминается, что изображение src является суффиксом _o.jpg, а естественные размеры - 1529x2048, тогда как размеры текущего размера изображения - 432 x 578
Вот одно и то же изображение на 14-дюймовом дисплее MacBook с разрешением 1440 x 900.
http://cl.ly/image/3V113r310r0m
В этом случае используется суффикс _n, который вы не можете видеть четко, но вы можете видеть, что естественные размеры 717 x 960, тогда как размеры текущего изображения составляют 538 x 720
Моя причина - узнать ту же стратегию, но использовать ее для отображения художественных работ, которые находятся в стандартном формате png или jpeg.
Сколько из стратегии реализовано с помощью css? Сколько в javascript?
Мои вопросы:
- Как это делает Facebook?
- Сколько эскизов создает фейсбук для каждой исходной фотографии?
- Как Facebook определяет правильную ширину и высоту для элемента img в зависимости от размера экрана?
Я считаю, что Facebook разрешает максимум разрешение 2048by2048.
Кроме этого, я не могу узнать больше.
Этот вопрос также перекрестно вывешен в Quora, чтобы получить более широкую аудиторию.
UPDATE: Я использую cakephp как backend и front end. Я полагаюсь на соглашения jquery и html5