首頁 > web前端 > css教學 > 如何僅使用 CSS 將陰影新增到 SVG?

如何僅使用 CSS 將陰影新增到 SVG?

Mary-Kate Olsen
發布: 2024-12-24 03:19:18
原創
892 人瀏覽過

How to Add Drop Shadows to SVGs Using Only CSS?

如何使用 CSS3 為 SVG 建立陰影

使用 CSS3 為 SVG 元素建立陰影是否可行?類似於:

box-shadow: -5px -5px 5px #888;
-webkit-box-shadow: -5px -5px 5px #888;
登入後複製

遇到了有關使用濾鏡效果創建陰影的討論。有沒有隻使用CSS的例子?下面是一個功能程式碼,其中適當地應用了遊標樣式,但不存在陰影效果。如何用最少的程式碼實現陰影效果?

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>
登入後複製

使用 CSS 'filter' 屬性。

相容於 webkit 瀏覽器,Firefox 34 和 Edge。

polyfill 可用於支援 FF

實作:

.shadow {
  -webkit-filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7));
  filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7));
}
登入後複製
<img src="https://upload.wikimedia.org/wikipedia/commons/c/ce/Star_wars2.svg" alt="" class="shadow" width="200">

<svg class="shadow" ...>
  <rect x="10" y="10" width="200" height="100" fill="#bada55" />
</svg>

<svg>
  <g fill="none" stroke="#decade" stroke-width="2" transform="scale(2)">
    <circle class="shadow" cx="20" cy="20" r="19"/>
    <path class="shadow" d="M 20,1 V 39"/>
    <path class="shadow" d="M 20,1 V 20" transform="rotate(135, 20, 20)"/>
    <path class="shadow" d="M 20,1 V 20" transform="rotate(225, 20, 20)"/>
  </g>
</svg>
登入後複製

以上是如何僅使用 CSS 將陰影新增到 SVG?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板