我做了關於CSS3轉換某些搜索。如果您使用的是matrix3d
屬性,則只能進行線性轉換,這不會讓您彎曲任何東西。它包括剪切,縮放和翻譯。
但是,目前的實驗技術可以讓您進行非線性轉換。因此,你可以扭曲,捲曲等任何對象。這需要編寫着色器,因此您需要爲GPU編寫代碼。
Adobe有CSS過濾器實驗室來證明這一點。感謝他們,我設法應用了我想要的轉換。下面是截圖:
這裏是管理這個
-webkit-filter:
custom(url(shaders/vertex/warp.vs) mix(url(shaders/fragment/warp.fs) normal source-atop), 20 20 border-box, k array(-0.429, -0.471, 467, -0.286, -0.507, 0, -0.086, -0.507, 0, 0.15, -0.514, 0, -0.407, -0.086, 0, -0.021, -0.171, 0, 0.193, -0.171, 0, 0.364, -0.171, 0, 0.036, 0.179, 0, 0.179, 0.171, 0, 0.35, 0.179, 0, 0.464, 0.171, 0, 0.2, 0.5, 0, 0.279, 0.5, 0, 0.414, 0.493, 0, 0.5, 0.5, 0), matrix perspective(1000) scale(1) rotateX(0deg) rotateY(0deg) rotateZ(0deg), useColoredBack 1, backColor 1 1 1 1);
可以使實驗性的功能與此鏈接後,測試它自己的代碼:http://html.adobe.com/webplatform/graphics/customfilters/cssfilterlab/#suckeffect
如何大約4年後的今天,是什麼這種技術的地位? –
@ErikAllik據我所知,該項目被放棄,但你可以在github上找到源代碼。 –