У меня есть сайт знакомств, и я отображаю списки пользователей с фотографиями профиля. Если у пользователя нет изображения профиля, я отображаю указанное c изображение. Вот код:
@register.inclusion_tag(filename='accounts/profile_picture.html', takes_context=True)
def profile_picture(context, user, geometry, with_link=True, html_class=''):
context = copy.copy(context)
geometry_splitted = geometry.split('x')
width = geometry_splitted[0]
if (len(geometry_splitted) == 2):
height = geometry_splitted[1]
else:
height = geometry_splitted[0]
context.update({
'user': user,
'geometry': geometry,
'width': width,
'height': height,
'with_link': with_link,
'html_class': html_class,
})
return context
profile_picture. html:
{% thumbnail user.photo.file geometry crop='center 20%' as image %}
<img src="{{ image.url }}" alt="{{ user.name }}" width="{{ image.width }}" height="{{ image.height }}" class="img-fluid {{ html_class }}" />
{% empty %}
<img src="{% static 'speedy-core/images/user.svg' %}" alt="" width="{{ width }}" height="{{ height }}" class="img-fluid {{ html_class }}" />
{% endthumbnail %}
CSS:
.img-fluid {
max-width: 100%;
height: auto;
}
Но проблема в том, что из-за этого height: auto;
вещь, пользователи без изображения профиля имеют изображения профиля выше, чем пользователи с изображениями профиля. Я хочу отображать всех пользователей с одинаковой высотой и, если необходимо, отображать меньшую ширину для пользователей без изображения профиля (в качестве изображения профиля которого отображается speedy-core/images/user.svg
). По возможности без изменения самого файла user.svg
. Как мне сделать это с CSS?
Редактировать: Я думал об определении max-height
для этих изображений, но я не знаю точное значение для max-height
, чтобы определить чтобы высота изображений была одинаковой.