我用javascript製作了一個粒子系統。每當用戶將鼠標懸停在某個按鈕上時,就會調用一個函數,並創建一個單個粒子,然後將其分配給一個不可見的div。粒子從div的底部移動到頂部。問題是這些粒子以div的正方形移動。但是,我需要將這些粒子掩蓋成多邊形形狀。每個粒子移出這個多邊形變得不可見。我搜索了這個問題 - 沒有找到合適的例子。使用CSS掩碼javascript創建的面具
1
A
回答
1
我不完全確定,如果我正確理解你,但基於我的理解,我創建了以下代碼片段。嘗試移動紅色方塊。它應該用六角形形狀剪裁。你可以很容易地創建你的口罩here。
該代碼基於CSS的clip-path
屬性,該屬性允許您定義用作掩碼的路徑,剪切HTML元素的內容。看看this和this的文章。
我製作了2 div
s。一個是容器(#box
),第二個是容器的子件(#polygon
)。 #polygon
填充其父項的整個空間,並將clip-path
屬性應用於它。最後,粒子在#polygon
之內。 #polygon
和#box
都設置了CSS屬性overflow: hidden
。
$('#particle').draggable()
#box {
width: 200px;
height: 100px;
background: purple;
margin: 50px;
position: relative;
overflow: hidden;
}
#polygon {
overflow: hidden;
width: 100%;
height:100%;
-webkit-clip-path: polygon(51% 21%, 79% 35%, 79% 70%, 53% 87%, 25% 72%, 24% 37%);
clip-path: polygon(51% 21%, 79% 35%, 79% 70%, 53% 87%, 25% 72%, 24% 37%);
}
#particle {
width: 10px;
height: 10px;
margin: 50px;
background: red;
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
<div id="box">
<div id="polygon">
<div id="particle"></div>
</div>
</div>
相關問題
- 1. 用CSS掩碼
- 2. 爲面板創建加載掩碼
- 3. 使用Javascript的手機號碼掩碼?
- 4. Matlab創建一個掩碼
- 5. 使用CSS/HTML/Javascript的Web應用程序創建工具鏈
- 6. 用BigInts創建一個位掩碼
- 7. 如何創建具有多個替代值的掩碼(Pandas DataFrame)
- 8. 文件創建掩碼和umask的
- 9. 創建自己的輸入掩碼
- 10. 在IE10中的css掩碼
- 11. 的CSS:創建使用CSS
- 12. 使用位掩碼或掩碼
- 13. 如何使用jQuery或JScript在XUL面板上創建加載掩碼
- 14. 使用JavaScript創建預製CSS變量
- 15. 使用css和javascript創建圖表
- 16. 使用CSS創建負面條形圖
- 17. 是任何指導方針在Javascript中創建輸入掩碼 -
- 18. 文件創建模式掩碼
- 19. php我無法創建輸入掩碼
- 20. 創建通過使用掩模
- 21. 如何使用併發模式支持創建掩碼克隆?
- 22. XCode 4:使用自動調整掩碼創建iPad版本
- 23. 使用位掩碼
- 24. 創建CSS面板
- 25. CSS掩碼圖像問題
- 26. 掩碼的JavaScript變量值
- 27. JavaScript中的IP掩碼(Titanium)
- 28. 創建使用CSS
- 29. 使用CSS創建
- 30. 使用CSS創建
顆粒爲單個圖像。該函數創建了一個圖像元素,並將其附加到具有中心ID的div。 – cool
什麼是多邊形的臉?你能畫一個例子嗎? – jonathanGB
它是div內的簡單六邊形。 – cool