我是SVG的新手,所以這可能是一個簡單的問題。我正在嘗試在矩形內製作一個簡單的三角形SVG蒙版。我想實現的是得到響應的矩形與他的寬度,但該三角形應該 - 獲得一個固定大小 - 總是在視口的中心居中SVG掩碼的一個元素
你會明白我的片段更好:
.header-arrow {
height: 70px;
}
svg {
height: inherit;
}
#arrow-down-alpha {
transform: translateX(calc(50vw - 130px/2));
}
<div class="header-arrow">
<svg width="100%">
<defs>
<mask id="myMask" x="0" y="0" width="100%" height="100%">
<rect fill="white" x="0" y="0" width="100%" height="100%" />
<polygon id="arrow-down-alpha" fill="black" x="00" y="0" width="165px" height="100%" points="55.91 37.8 111.81 0 0 0 55.91 37.8" />
</mask>
</defs>
<rect id="base-mask" mask="url(#myMask)" x="0" y="0" width="100%" height="100%" />
</svg>
</div>
它workning現在在Chrome,但平移X(或翻譯)是不是在Firefox和邊緣工作。我試圖使用transform SVG屬性,但似乎我不能使用百分比值。 我不是很熟悉視框,但我不確定它會在這種情況下有所幫助。
無論如何感謝您的幫助!
我相信它的重複數據刪除技術。試着首先找到。 –
'x','y','width'和'height'不是''的有效屬性。 –
不幸的是,當用於SVG元素時,像'vw'這樣的新的CSS單元類型得不到很好的支持。 –