我試圖讓下面的方框更大SourceAlpha有一個更大的點擊區域:是什麼原因導致這比SourceGraphic
<svg width="150" height="150">
<rect x="10.5" y="10.5" width="10" height="10"
stroke="black" stroke-width="3" fill="none"/>
</svg>
所以要做到這一點,我搞砸周圍的過濾器位;首先我應用了色彩矩陣,然後我想開始改變黑色背景部分的大小,但它在某種程度上已經比原來的圖形更大:
<svg width="150" height="150">
<filter id="fillBlack">
<feColorMatrix type="matrix" in="SourceAlpha" result="blackBox"
values="0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 1 1 1 1"/>
<feComposite operator="over" in="SourceGraphic" in2="blackBox"/>
</filter>
<rect x="50" y="50" width="10" height="10" filter="url(#fillBlack)"
stroke="transparent" stroke-width="50" fill="white"/>
</svg>
現在,這似乎已經非常接近我期望的結果了,但是有兩個問題:首先,我真的不明白爲什麼這會起作用,其次,因爲我不知道是什麼原因造成的,我無法調整黑色背景。
看起來背景總是大10%試穿<rect>
改變爲width
和height
值,和黑色的背景將是10%的邊界周圍的原包裝盒輸入的寬度/高度
那麼是什麼原因導致SourceAlpha
要大些,而實際上,我怎麼調整黑色背景的大小,以便我可以擁有它所需的大小? PS:我非常希望不要把另一個<rect>
放在當前版本上,而是我會盡我所能完成filter
,就像我在這裏所做的一樣。
是。謝謝邁克爾。我會更新答案。 –
我沒有添加過濾器來增加可點擊面積,我添加了較大的透明筆劃來增加可點擊面積,而過濾器只是爲了讓外觀再次相同。 – Joeytje50
定義'x','y','width'和'height'的方法似乎很好地工作。你的答案的第二部分已經是我在第二個演示中使用的方法,但是感謝關於'pointer-events'的提示。 – Joeytje50