Задать вопрос
luemerg
@luemerg

Как сделать квадратные изображения?

Необходимо сделать квадратные изображения
P.S все изображения имеют разный размер как вертикальные так и горизонтальные если прописать одинаковую ширину и высоту картинка растягивается
<a class="example-image-link" href="http://lokeshdhakar.com/projects/lightbox2/images/image-3.jpg" data-lightbox="example-set">
	<img class="example-image" src="http://lokeshdhakar.com/projects/lightbox2/images/thumb-3.jpg" alt=""/>
</a>
  • Вопрос задан
  • 8307 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
Stalker_RED
@Stalker_RED
Если пропорции не совпадают, то можно
1. растянуть
2. обрезать
3. повторять картинку
4. дополнить фоновым цветом/изображением.
Ответ написан
landen13
@landen13
frontend-developer
Здесь в любом случае понадобится бекенд.

Как пример, можно определять ориентацию изображения и дальше от класса .horizontal или .vertical позиционировать через css (absolute, width/height: 100% - в зависимости от класса, left/top: 50% - в зависимости от класса, transform: translateX(-50%)/translateY(-50%) - тоже в зависимости от класса).
В таком случае оригинальные размеры изображения сохраняются (пользователь может его сохранить таким же).

Ну либо бекендом делать обычный crop.
Ответ написан
Natterum
@Natterum
Используйте конструкцию типа:
<div style="overflow: hidden; width: %ваш размер%; height: %ваш размер%">
<img src="..." />
</div>

Это поможет уместить картинки любого размера в слое.
overflow: hidden - обязательный параметр.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
А если картинке задать object-fit: cover;
Ответ написан
Комментировать
Обычно делаю квадратный блок через padding-bottom: 100%; и вывожу изображение фоном с background-position: center; background-size: cover;
Ответ написан
Комментировать
zooks
@zooks
Frontend
Грамотней всего обрезать через PHPthumb.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы