Адаптивный логотип: 2 разных картинки

12
Василич#
На сайте с 10.03.2009
Offline
111
866

Здравствуйте ! Такая вот задача, есть кусок (логотип) вида:

<div class="logo">
<a href="/"><img src="/logo.png"></a>
</div>

Задача при адаптивности подставлять вместо logo.png - logo2.png.

Пробовал через background-image для тэга а, но не решается вопрос с кроссбраузерностью, т.к. background-size: contain; не понимает IE до 9, да и у 11 проблемы тоже с ним. Также и через filter (инверсию цветов пробовал), но не во всех браузерах работает.

Ради чего весь сыр-бор, в десктопной версии - картинка цветная, в мобильной - белая и урезанная.

Может есть у кого-то какие-то толковые идеи ?) Интересует именно правильный метод.

Заранее спасибо.

bmw-power.com.ua (https://bmw-power.com.ua)
W
На сайте с 16.01.2018
Offline
3
#1

Можете попробовать через @media запросы показывать/скрывать блоки на устройствах.

<div class="desktop-logotype"></div>
<div class="mobile-logotype"></div>
.desktop-logotype {}
.mobile-logotype {display: none}
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
.desktop-logotype {display: none}
.mobile-logotype {display: block}
}

Для того чтобы @media запросы корректно работали в старых версиях IE подключите respond.js

Василич#
На сайте с 10.03.2009
Offline
111
#2

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

altezzik
На сайте с 06.11.2011
Offline
247
#3

Погуглите srcset

Например:

<img src="small.jpg" srcset="medium.jpg 1000w, large.jpg 2000w" alt="yah">

Оптимизайка
На сайте с 11.03.2012
Offline
396
#4
⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
S
На сайте с 30.09.2016
Offline
469
#5
Василич#:
не понимает IE до 9, да и у 11 проблемы тоже с ним.

altezzik:
Погуглите srcset
Никакой IE в принципе не понимает не srcset, ни picture.
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
dma84
На сайте с 21.04.2009
Offline
168
#6
Василич#:

Задача при адаптивности подставлять вместо logo.png - logo2.png.
Пробовал через background-image для тэга а, но не решается вопрос с кроссбраузерностью, т.к. background-size: contain; не понимает IE до 9, да и у 11 проблемы тоже с ним.

Зачем вообще использовать background-size, если можно размер ссылки менять и background-image. Выдумываете себе проблемы на ровном месте.

Василич#
На сайте с 10.03.2009
Offline
111
#7

dma84, если менять размер ссылки и background-image картинка не полностью отображается, а вытягивается.

C
На сайте с 06.02.2014
Offline
43
#8

Ну раз не хотите по хорошему (а хорошее в данном случаи игнорировать ИЕ и использовать нормальный srcset или хотя бы background-size), ну а с display: none проблема в двойной ссылке, то остается вариант заменить путь картинки в зависимости от разрешения экрана. Маленький скрипт на jquery, если он не подключен, можно переделать под нативный js.

P.S. Сделал на скорую руку, сам такое никогда не делаю, ибо под мои нужды всегда хватает html-а и css-a.

S
На сайте с 13.10.2014
Offline
171
#9

а background-size:contain, пардон, вам чем не угодил?

работает на всех ветхозаветных браузерах, начиная с IE9

Василич#
На сайте с 10.03.2009
Offline
111
#10

silicoid, не работает ниже 9 ие, а значит некомильфо :)

Люблю чтобы везде работало как надо :D

---------- Добавлено 13.03.2018 в 15:13 ----------

croatoa, спасибо. Похоже, на Вашем варианте и остановлюсь.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий