2016-09-12 5 views
0

У меня есть следующая тень, примененная к SVG-изображению. Проблема в том, что когда сайт уменьшен до более низкого разрешения, тень все дальше и дальше удаляется от изображения. Фильтр тени-тени не позволяет использовать проценты.Как сделать отзыв тень CSS отзывчивой?

#turqLogo img 
{ 

display: block; 
margin: auto; 
width: 4%; 
-webkit-filter: drop-shadow(.5em 0px 0px black); /* Chrome, Safari, Opera */ 
filter: drop-shadow(.5em 0px 0px black); 
} 

У кого-нибудь есть трюк, чтобы тень оставалась в том же положении, что и сайт просматривается с разными разрешениями?

ответ

4

Используйте 1vw вместо .5em.

1vw = 1% ширины окна просмотра.

-webkit-filter: drop-shadow(1vw 0px 0px black); /* Chrome, Safari, Opera */ 
filter: drop-shadow(1vw 0px 0px black); 

Пример, падение SVG тень сохраняет это расстояние при масштабировании:

svg drop shadow

+0

Это хорошо работает. Я ценю помощь. – Biermannder

0

Попытка сбросить тени в зависимости от ширины экрана с этим:

@media (min-width: 300px) { //set there your width 

display: block; 
margin: auto; 
width: 4%; 
-webkit-filter: drop-shadow(.5em 0px 0px black); /* new style here */ 
filter: drop-shadow(.5em 0px 0px black); /* new style here */ 

} 

Просто добавьте в таблицу стилей, и вы увидите, что как только страница достигнет этой минимальной ширины, она повторно применит стиль к вашему компоненту;)

+2

Это тоже работает, но замена em на vw (как упоминалось выше) представляется более простым и эффективным решением. – Biermannder

+1

@ user1816400 спасибо, не знал, что трюк :) –

+0

Это будет работать, если вы сделаете медиа-запрос для каждого стандартного разрешения и настройте тень em/px для каждого. Если это между двумя разрешениями, тень начнет дрейфовать. –

Смежные вопросы