2016-09-12 4 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

.5emの代わりに1vwを使用してください。

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を調整すると機能します。 2つの解像度の間にある場合、影がドリフトし始めます。 –

関連する問題