Для изображений не заданы явным образом атрибуты width и height.

Вопрос

#1 29 сентября 2022 в 23:41

Уважаемые программисты и ГУРУ Инстанта, будьте добры подскажите!

Проверяю сайт в браузере lighthouse выдает такую ошибку:

Изображение

Может кто подскажет как и где это можно поправить?

В каком файле что прописать?

Как всегда вопрос от чайника :-))))

#2 30 сентября 2022 в 08:10

Так как в системе используется bootstrap, то для тега img, как правило используется класс img-fluid, правила для которого прописаны в таблице стилей. Там что то типа max-width:100%; и height:auto; А сами размеры задаются контейнеру которым обёрнута картинка. Поэтому для данных случаев ничего не сделаешь. Решить можно только там, где у картинки родитель  тег  body. Поэтому нужно смотреть конкретные примеры. Плюс ко всему не исключено, что завтра всё поменяется снова, так как всё это напоминает костыль).

#3 30 сентября 2022 в 09:57

 Lora, Не исключено, что завтра всё поменяется снова — Согласен с вами..

Почему в виджетах нет вообще возможности устанавливать свои размеры картинки… Брать качество картинки (micro, small, normal, big) и ставить свои размеры для вывода?

#4 30 сентября 2022 в 11:48

micro, small, normal, big

MegaRostov

Это и есть размер. Почему нельзя? О каком виджете речь?

#5 30 сентября 2022 в 12:12

 Lora, Вы не поняли, (micro, small, normal, big) — это стандартные размеры… Выставленные в «Загрузка изображений».

Изображение

А сам виджет показывает от разрешения (micro, small, normal, big) но не размер:

Изображение

Вы поняли? Это (micro, small, normal, big) размер загружаемого изображения, НО не отображаемого в самом виджете!

Добавлено спустя 1 минуту

Я писал ранее: Брать качество картинки (micro, small, normal, big) и ставить свои размеры для вывода в виджете..

Добавлено спустя 1 минуту

То есть загружаемое фото брать из настроек Загрузка изображений, но не обрезать его под размер, а отображать или сжимать под определенный виджет.

#6 30 сентября 2022 в 12:32

 MegaRostov, повторяю. Это размер.То, что вам кажется качеством, это соответствие размера контейнера и используемого размера картинки. Если у вас контейнер(див) 300 на 400, а размер картинки вы используете 100х200, то соответственно она у вас расплывается. Тот размер, что у вас на скрине, это размер контейнера, который вычислил браузер исходя из класса контейнера, который задаётся в процентах.

Прописывание размера в самой картинке вам ничего не даст. Картинка всегда будет подогнана под размер контейнера.

#7 30 сентября 2022 в 13:41

 Lora, Хорошо, тогда вопрос… Как убрать данную ошибку? Или что нужно сделать для этого? Или как вы писали выше " Поэтому для данных случаев ничего не сделаешь."

Изображение

#8 30 сентября 2022 в 15:26

Попробуйте сделать так. Откройте файл поля image     system\fields\image.php. Найдите там строку такую (примерно стр 100)

  1. $img_html = html_image($paths, $size_teaser, (empty($this->item['title']) ? $this->name : $this->item['title']));

и добавьте туда массив. Получится так

  1. $img_html = html_image($paths, $size_teaser, (empty($this->item['title']) ? $this->name : $this->item['title']),array('width'=>'500px','height'=>'500px'));

По идее это не должно на что то отразиться, если картинка в контейнере. Как будет, если нет, не проверял)

Но это должно убрать ошибку.

Если вы используете поле Набор изображений, значит там сделайте это.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.