Битые картинки vs CSS

Перефразируя устойчивое выражение: broken image happens. И раз уж они все равно могут появиться на вашем сайте, то с ними нужно что то делать, т.е. как минимум иметь механизм управления их внешним видом, вместо стандартного поведения браузера.

Здесь мы не будем рассматривать возможности JS, где вы можете вылавливать события onerror объекта window, что позволит реализовать любую логику дальнейшего поведения (например, протоколирование фронт-енд ошибок на сервере). Мы остановимся на CSS трюках, чтобы визуально оформить наши битые картинки.

Объектом исследования станет следующий HTML пример:

Результат рендеринга такого <IMG> (возможно, немного иной для разных браузеров) вы видите в начале статьи.

Прячем калеку

Первое желание — это спрятать покалеченную картинку, по крайней мере, пустой квадрат выглядит лучше. Сделать это просто:

Если изображение не прогрузилось, то вместо неё будет пустое пространство.

Заменяем битую картинку своим изображением

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

Это может логотип компании, или изображение с надписью — «Картинка подготавливается», тут ваша фантазия должна вам подсказать как обыграть данную ситуацию.

«Резервное» изображение цепляется как background-image самого тега IMG или его псевдо-контейнеров. Пример стилей:

По сути ясно, что сам контейнер IMG и его псевдо-элементы, идут поверх слоя «битой» картинки, и, таким образом, маскируют её от пользователя.

Мало букафф? Читайте есчо !

Выравнивание блока HTML (вертикально и горизонтально)

Сентябрь 17, 2015 г.

Центровка элемента - одна из типовых задач в верстке. Решать её можно по разному, рассмотрим некоторые способы. Горизонтальная центровка. С центровкой ...

Читать

Анимация нажатия: эффект нажатой кнопки

Май 2, 2025 г.

Когда пользователь нажимает кнопку, полезно дать тактильную обратную связь — например, слегка "прижать" её визуально. Такой эффект достигается с помощью изменения масштаба (scale) и вертикального смещения (translateY). Это статья из цикла заметок по ...

Читать

Как делаются сайты с адаптивным дизайном?

Апрель 7, 2016 г.

Последний писк браузерной моды - адаптивный дизайн - вызван широким внедрением в быт мощных смартфонов. По количеству ядер процессора, быстродействию и ...

Читать

Псевдоклассы состояния контейнера input

Октябрь 24, 2018 г.

Хотелось бы выделить такой перечень css псевдоклассов и приемов работы с ними, который основан на состоянии элемента INPUT. :checked псевдокласс Позволяет писать стили для радио/чек - боксов, которые выделены (checked) в текущий момент. [crayon-6a41d8adb6543658952376/] ...

Читать
 

Комментарии к «Битые картинки vs CSS»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: