Горизонтальное центрирование изображений разных размеров в jQuery Mobile.

0

Я разрабатываю очень простое приложение, которое загружает json-объект в список jquery mobile listview.

Объект json имеет:

  • изображение
  • Заголовок
  • URL-адрес

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

Прикрепленный скриншот с красной линией, которая показывает "центр" изображений. Как вы можете видеть, третье изображение меньше и не центрировано, как другие изображения.

Изображение 174551

Как центрировать изображения в этом воображаемом столбце в списке JQuery Mobile?

Благодарю за помощь, Рик.

  • 0
    Можете ли вы поделиться, как вы структурировали свой список в скрипке?
Теги:
mobile
jquery-mobile

2 ответа

1
Лучший ответ

Вот ДЕМО FIDDLE

Я перестроил список, чтобы положить большие пальцы внутрь DIV. LI задан класс jQM ui-li-has-thumb и новый DIV получает ui-li-thumb. Это те, которые обычно применяются автоматически при обнаружении изображения.

<ul data-role="listview" data-theme="a">
  <li class="ui-li-has-thumb"><a href="#">
    <div class="ui-li-thumb">
    <img src="http://..." class="imgThumb"  />
    </div>
    <h2>Broken Bells</h2>
    <p>Broken Bells</p></a>
  </li>
  ...
</ul>

Затем я добавляю классы CSS, чтобы сделать контейнер шириной 80 пикселей с его содержимым, расположенным по горизонтали, и чтобы изображение было максимально шириной и высотой 80 пикселей:

div .ui-li-thumb {
  width: 80px;
  text-align: center;
}
.imgThumb {
  max-width: 80px;
  max-height: 80px;  
}
  • 0
    Мммм ... Хорошо, я успешно отцентрировал изображение по горизонтали ... но теперь я потерял вертикальное центрирование! > <Мне нужны изображения в центре <div class="ui-li-thumb"> . Я полагаю, что сделать это, скопировав старый код в правильное положение, но положение css attibute position:absolute перемещает вещи на экране. :(
  • 0
    Я решил проблему, используя ваш html и следующий css: div .ui-li-thumb{ width: 80px; height:80px; border: 1px solid black; } .imgThumb { position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; max-width:70px; max-height:70px; } направо div .ui-li-thumb{ width: 80px; height:80px; border: 1px solid black; } .imgThumb { position:absolute; top:0; bottom:0; left:0; right:0; margin:auto; max-width:70px; max-height:70px; }
0

Согласно документации (http://jquerymobile.com/demos/1.3.0-rc.1/docs/demos/widgets/listviews/):

"Чтобы добавить эскизы слева от элемента списка, просто добавьте изображение внутри элемента списка в качестве первого дочернего элемента. Рамка масштабирует изображение до 80 пикселей квадрата ".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню