2015-03-02 40 views
0

我試圖創建一個固定剪貼蒙版使用SVG。這個面具必須有position: fixed,因爲我希望它可以隨瀏覽器一起滾動。固定SVG clippingPath

我有以下的HTML/SVG和SCSS:

<div class="table"></div> 
<div class="clipping-mask"> 
    <svg> 
     <defs> 
      <clipPath id="clipping"> 
       <circle cx="50%" cy="15%" r="15%" /> 
      </clipPath> 
     </defs> 
    </svg> 
</div> 

SCSS:

.table { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-image: url("../images/table.jpg"); 
    background-size: contain; 
    background-repeat: no-repeat; 
    background-position: center; 

    clip-path: url(#clipping); 
} 
.clipping-mask { 
    position: absolute; 
    top: 0; 
    width: 100%; 
    height: 100%; 

    svg { 
     width: 100%; 
     height: 100%; 
    } 
} 

上面的代碼正確剪輯的背景,只顯示了位於圓圈內。唯一的問題是它不是固定的(如CSS position: fixed),因此它不會在瀏覽器中滾動。

Preview

有沒有什麼辦法,這是可能的嗎?我需要它是SVG,因爲我想在特定點將形狀轉換成矩形。

+0

你可能需要解釋一下你想要更好一點。目前還不清楚你想要的行爲是什麼。 – 2015-03-02 14:26:23

+0

我想要一個固定位置的SVG剪切路徑。我有一個背景圖片,只想看到它的一部分。我真的無法解釋它比我上面發佈的更好。 – 2015-03-02 14:39:17

+0

建議:將'table.jpg'作爲''放在SVG中,並使用''作爲(圓形)clipPath。 – 2015-03-03 08:07:54

回答

0

您是否嘗試修復<img>的位置,並將剪切路徑或遮罩應用於該位置?應用於HTML元素的遮罩和裁剪路徑在使用objectBoundingBox座標定義時通常效果最佳。