[解決済み】css3を使ったSVGドロップシャドウ
2022-03-23 18:22:27
質問
css3を使用して、svg要素にドロップシャドウを設定することは可能でしょうか?
box-shadow: -5px -5px 5px #888;
-webkit-box-shadow: -5px -5px 5px #888;
フィルター効果で影を作るという発言を見かけました。CSSだけで作る例はないのでしょうか?以下は、cusor styleが正しく適用されている作業コードですが、シャドウ効果はありません。最小限のコードでシャドウ効果を得るために、どうか私を助けてください。
svg .shadow {
cursor:crosshair;
-moz-box-shadow: -5px -5px 5px #888;
-webkit-box-shadow: -5px -5px 5px #888;
box-shadow: -5px -5px 5px #888;
}
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full" viewBox="0 0 120 70">
<rect class="shadow" x="10" y="10" width="100" height="50" fill="#c66" />
</svg>
解決方法は?
ここに
例
filter' プロパティを使って、ある SVG にドロップシャドウを適用しています。ドロップシャドウの不透明度を制御したい場合は、次のサイトを参照してください。
この例
. その
slope
属性は、ドロップシャドウに与える不透明度の大きさを制御します。
例題の関連部分です。
<filter id="dropshadow" height="130%">
<feGaussianBlur in="SourceAlpha" stdDeviation="3"/> <!-- stdDeviation is how much to blur -->
<feOffset dx="2" dy="2" result="offsetblur"/> <!-- how much to offset -->
<feComponentTransfer>
<feFuncA type="linear" slope="0.5"/> <!-- slope is the opacity of the shadow -->
</feComponentTransfer>
<feMerge>
<feMergeNode/> <!-- this contains the offset blurred image -->
<feMergeNode in="SourceGraphic"/> <!-- this contains the element that the filter is applied to -->
</feMerge>
</filter>
<circle r="10" style="filter:url(#dropshadow)"/>
Box-shadow は CSS のボックス(矩形と読みます)に対して動作するように定義されていますが、svg は矩形だけでなくもう少し表現力が豊かです。を読んでください。 SVG入門 SVGフィルターで何ができるのか、もう少し詳しく知りたい方はこちら。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】位置固定が機能しない
-
[解決済み】iframeを水平方向にセンタリングする方法は?
-
[解決済み】私のCSS3メディアクエリがモバイルデバイスで機能しないのはなぜですか?
-
[解決済み】iframeの高さを100%にする方法【重複】。
-
[解決済み】WebページでWindows 95のフォントを使用する
-
[解決済み】「選択されたファイルがありません」を変更しました。
-
[解決済み] このCSSでInline-blockが正しく動作しないのはなぜですか?
-
[解決済み] HTML5 Canvas 要素でカスタムフォントを使用するにはどうすればよいですか?
-
[解決済み] head」タグと「header」タグの本当の違いは何ですか?[重複】について]
-
[解決済み] HTMLのバックスペース