Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
1

Отображение изображения в плитке

17.04.2017, 15:29. Показов 4542. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите, как лучше всего реализовать следующую вещь. Имеется плитка товаров. И этой плитке должно быть изображение 300 пикселей по ширине, 200 пикселей по высоте, например (не само изображение, а обертка для него). Изображения динамически подгружаются с админки. Их размеры и пропорции могут быть совершенно разные. И такой вопрос, как можно универсально хорошо отображать все изображения в такой плитки, независимо от того, горизонтальное оно или вертикальное, и чтобы это изображение полностью занимало обертку.

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

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<div class="img_wrapper">
  <img src="photo_1.jpg" alt="">
</div>
<div class="img_wrapper">
  <img src="photo_2.jpg" alt="">
</div>
<div class="img_wrapper">
  <img src="photo_3.jpg" alt="">
</div>
<div class="img_wrapper">
  <img src="photo_4.jpg" alt="">
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.img_wrapper {
    position: relative;
    height: 200px;
    overflow: hidden;
    width: 300px;
    float: left;
    margin: 10px;
}
 
.img_wrapper img {
    height: 100%;
    position: absolute;
    left: -100%;
    right: -100%;
    margin: auto;
    top: 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2017, 15:29
Ответы с готовыми решениями:

Найти напряжения на плитке, реостате и амперметре
В электрическую сеть последовательно включены плитка, реостат и амперметр, имеющие сопротивления...

Отображение изображения
Всем привет. Как добавить загруженное изображение в приложение? if (openFileDialog1.ShowDialog()...

Отображение изображения
Доброго времени суток. Есть форма с загрузкой изображения, как сделать что бы фото которое человек...

Отображение изображения
Почему изображение не становится по правому краю? &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt;...

5
3 / 3 / 0
Регистрация: 17.03.2013
Сообщений: 64
17.04.2017, 21:48 2
Рекомендую для верстки вообще использовать bootstrap
Вот конструктор для тренировки и быстрыхх макетов www.layoutit.com/build
1
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
17.04.2017, 22:12  [ТС] 3
Я знаю, что такое бутстрап. Суть вопроса вообще в другом была. Верстка просто в качестве примера была приведена
0
3 / 3 / 0
Регистрация: 17.03.2013
Сообщений: 64
18.04.2017, 07:54 4
Вписать в 300 на 200 пикселей изображение с другими пропорциями без обрезки вряд ли получится. Разве что обрезка средствами css, например clip:rect() здесь может сработать хорошо.
В таких случаях через php генерится миниатюра с задаными размерами, при этом обрезается лишнее или добавляется пространство (в этом случае добавлять наверно нет смысла).
1
Эксперт HTML/CSS
653 / 556 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
18.04.2017, 10:53 5
Лучший ответ Сообщение было отмечено Dmitrin как решение

Решение

Цитата Сообщение от Dmitrin Посмотреть сообщение
И такой вопрос, как можно универсально хорошо отображать все изображения в такой плитки, независимо от того, горизонтальное оно или вертикальное, и чтобы это изображение полностью занимало обертку.
Можно так
HTML5
1
2
3
4
5
6
7
8
9
<div class="img_wrapper">
  <img src="http://www.noirkittymews.com/wp-content/uploads/2015/01/IMG_1376-180x90.jpg" alt="">
</div>
<div class="img_wrapper">
  <img src="http://www.bchumane.org/wp-content/uploads/2014/06/Cat-of-the-Week-Anna-large.jpg" alt="">
</div>
<div class="img_wrapper">
  <img src="https://lh3.googleusercontent.com/MEPCdADX5hpovKMR_GJjbAapiHR69mWcMM9M2KD2knCgvTi6cyeBfDbtB2y45y2qqA=w300" alt="">
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.img_wrapper {
    position: relative;
    height: 100px;
    overflow: hidden;
    width: 150px;
    float: left;
    margin: 10px;
}
 
.img_wrapper img {
    display: block;
    min-height: 100%;
    min-width:100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
или так
HTML5
1
2
3
4
5
6
7
8
9
<div class="img_wrapper js">
  <img src="http://www.noirkittymews.com/wp-content/uploads/2015/01/IMG_1376-180x90.jpg" alt="">
</div>
<div class="img_wrapper js">
  <img src="http://www.bchumane.org/wp-content/uploads/2014/06/Cat-of-the-Week-Anna-large.jpg" alt="">
</div>
<div class="img_wrapper js">
  <img src="https://lh3.googleusercontent.com/MEPCdADX5hpovKMR_GJjbAapiHR69mWcMM9M2KD2knCgvTi6cyeBfDbtB2y45y2qqA=w300" alt="">
</div>
CSS
1
2
3
4
5
6
7
.js{
  background-size: cover;
  background-position: center center;
}
.js img{
  display: none;
}
Javascript
1
2
3
4
5
$('.js').each(function(){
    var $this = $(this);
    var url = $this.find('img').attr('src');
    $this.css('background-image', 'url("' + url + '")');
});
https://jsfiddle.net/shakalaka/vovxhtsk/

Но в любом случае изображение будет обрезаться, если пропорции не подходят. Для красивого отображения, нужно чтобы тот, кто картинки в админку загружает думал головой, а не тем, чем они обычно думают
1
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
18.04.2017, 15:43  [ТС] 6
Shakalaka, Обычно как раз думают не тем, чем нужно)) Спасибо за помощь))
0
18.04.2017, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2017, 15:43
Помогаю со студенческими работами здесь

Отображение изображения
У меня есть изображение размерность 100 на 50 пикселей. В форме создаю label, в свойствах &quot;image&quot;...

Отображение изображения
Как отобразить Png рисунок средствами direct3d(не directDraw).

Отображение изображения из потока
Приветствую всех! Может быть кто сталкивался с таким моментом: извне идёт поток (по USB, к...

Некорректное отображение изображения
Здравствуйте. Подскажите пожалуйста, что это и как с этим бороться. В Excel если провести мышкой то...

Отображение части изображения
Имеются изображения с разрешениями 200px на Npx, то есть ширина у всех одинаковая, а длина разная....

отображение изображения в браузере
Подскажите, по какой технологии, теоретически отражается изображение (картинка), и как меняется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru