box shadow實現曲線投影效果

2021-05-28 12:33:03 字數 1117 閱讀 9609

一般的投影效果,尤其通過css實現的投影效果(無論是css3,還是ie濾鏡),都是直來直往的。紙張是有卷角的,其投影就是曲面的,如何使用css模擬出紙張的卷邊曲線投影效果就是本篇的內容了。

首先,曲線投影的終效果其實是多投影重疊的效果:一點點傾斜的投影重疊乙個直直的投影。

一般的直來直往的投影顯然是使用box-shadow屬性就可以搞定了。至於那個傾斜的投影,如果是現代瀏覽器,則需要就是css3變換屬性transform。首先是傾斜,5度左右的樣子,然後讓其在主投影的後面顯示就可以了。然後,單單只有傾斜是不夠的,因為有乙個腳會從一側露出來,這很好理解。假設兩個矩形一樣大,位置完全重疊,如果發生旋轉,則必定有邊角不重合而露出來。即使矩形尺寸不一樣,只要其以乙個公共的邊角旋轉,至少會有兩個角露出來,而實際上我們只需要乙個,也就是斜邊投影的哪個角。那麼這個問題該如何解決呢,也很簡單,同樣是transform,不過這回不是旋轉,而是拉伸(skew),將規整的矩形拉伸成平行四邊形,可避免旋轉的時候多餘的角露出來。

對於不支援css3的ie瀏覽器,按照上面的原理,理論上也是可以模擬出曲線投影效果的。因為ie下的投影效果可以使用投影濾鏡

(效果生硬不推薦)實現,或是模糊濾鏡實現

(推薦),至於旋轉也有旋轉濾鏡。但是,就效能和成本而言,是否應該使用很值得商榷。

在現代瀏覽器下,一層標籤就可以了。首先,如下html:

.curved_box 

.curved_box:before

.curved_box:after

.curved_box:before, .curved_box:after

使用了content內容生成技術,建立斜邊投影。

友情提示

這裡的斜邊投影使用的是負值z-index定位到本體陰影的後面的。由於使用的是z-index負值,所以,請務必保證當前投影元素的所有父標籤均沒有背景或背景色(body標籤除外),否則,斜邊投影是看不到的。

所說目前而言,本文例項效果是沒有多少實際應用價值的。但是,其中實現的原理,關於content的使用,以及對z-index的一些認識,熟悉css3的一些屬性還是頗有幫助的。可能不需要多少年,本文的例子就會會很基本很常用的入門例項了,期待那一天的到來。

css3 box shadow投影發光效果

css3的box shadow屬性 可以讓我們輕鬆實現圖層陰影效果。我們來實戰詳解一下這個屬性。1.box shadow屬性的瀏覽器相容性 先來看乙個這個屬性的瀏覽器相容性 opera 不知道是從哪個版本開始支援的,我在發這篇文章測試的時候,正好更新了opera到最新的10.53版本,已經支援box...

投影曲線的波峰查詢

影象分析 投影曲線的波峰查詢 ronny丶 時間2014 03 21 20 57 17 ronny 技術成長之路 原文主題 向量 一 前言 在影象分析裡,投影曲線是我們經常要用到的乙個影象特徵,通過投影曲線我們可以看到在某乙個方向上,影象灰度變化的規律,這在影象分割,文字提取方面應用比較廣。乙個投影...

box shadow實現外發光效果

下邊為實現外發光的 重點內容 box shadow 1px 0 20px 3b3b3b 左邊 1px 0 20px 3b3b3b 右邊 0 1px 20px 3b3b3b 上邊 0 1px 20px 3b3b3b 下邊 box shadow h shadow v shadow blur spread...