陰影來(lái)源于現(xiàn)實(shí)生活的反映物體與物體之間距離的物理現(xiàn)象。在界面中,我們往往通過(guò)模擬元素的投影直截了當(dāng)?shù)膩?lái)告訴用戶(hù),元素之間的高度距離與層次關(guān)系。
陰影是由兩個(gè)不同階層的平面產(chǎn)生,且強(qiáng)度由兩者之間的距離決定。所以物體的高度直接影響物體的陰影,對(duì)象離地面越遠(yuǎn)陰影越大,模糊值越高。我們將系統(tǒng)分為無(wú)、低、中、高四個(gè) UI 層級(jí),各自分布在不同的高度層級(jí),陰影屬性也有所不同。
第 0 層:物體緊貼地面,投影與物體完全重疊,在界面中不對(duì)此層定義陰影值。如:輸入框等;
第 1 層: 物體位于低層級(jí),此時(shí)物體被操作(懸停、點(diǎn)擊等)觸發(fā)為懸浮狀態(tài),當(dāng)操作完成或取消時(shí),懸停狀態(tài)反饋也跟隨消失,物體回歸到原有的層級(jí)中,如:卡片 hover 等;
第 2 層:物體位于中層級(jí),此時(shí)物體與基準(zhǔn)面的關(guān)系是展開(kāi)并跟隨,物體由地面上的元素展開(kāi)產(chǎn)生,會(huì)跟隨元素所在層級(jí)的移動(dòng)而移動(dòng),如:下拉面板等;
第 3 層:物體位于高層級(jí),該物體的運(yùn)動(dòng)和其他層級(jí)沒(méi)有關(guān)聯(lián),如:對(duì)話框等。
陰影的方向是由光源與物體的相對(duì)位置所決定的。假定光源所處高度不變,光源與物體的距離和物體與陰影的距離成正比。光源越遠(yuǎn),則陰影距離物體越遠(yuǎn)。陰影的方向在界面里通常使用 X, Y 坐標(biāo)軸來(lái)表示。
綜上可知。陰影由光照而產(chǎn)生。主要影響其值的是物體高度與光源位置:
在 Ant Design 中不同的陰影方向使用在不同的地方:
陰影是模擬的真實(shí)世界的反饋,Ant Design 為了更符合真實(shí)陰影,在 4.0 中采用了三層陰影的表達(dá)方式,讓陰影更柔和,更符合真實(shí)狀態(tài)
第一層:
陰影類(lèi)型 | 陰影顏色(rgba) | 方向(X, Y) | 模糊度(Blur) | 擴(kuò)展值(Spread) |
---|---|---|---|---|
@shadow-1-up | rgba(0, 0, 0, 0.16) | 0px, -1px | 2px | -2px |
rgba(0, 0, 0, 0.12) | 0px, -3px | 6px | 0px | |
rgba(0, 0, 0, 0.09) | 0px, -5px | 12px | 4px | |
@shadow-1-down | rgba(0, 0, 0, 0.16) | 0px, 1px | 2px | -2px |
rgba(0, 0, 0, 0.12) | 0px, 3px | 6px | 0px | |
rgba(0, 0, 0, 0.09) | 0px, 5px | 12px | 4px | |
@shadow-1-left | rgba(0, 0, 0, 0.16) | -1px, 0px | 2px | -2px |
rgba(0, 0, 0, 0.12) | -3px, 0px | 6px | 0px | |
rgba(0, 0, 0, 0.09) | -5px, 0px | 12px | 4px | |
@shadow-1-right | rgba(0, 0, 0, 0.16) | 1px, 0px | 2px | -2px |
rgba(0, 0, 0, 0.12) | 3px, 0px | 6px | 0px | |
rgba(0, 0, 0, 0.09) | 5px, 0px | 12px | 4px |
第二層:
陰影類(lèi)型 | 陰影顏色(rgba) | 方向(X, Y) | 模糊度(Blur) | 擴(kuò)展值(Spread) |
---|---|---|---|---|
@shadow-2-up | rgba(0, 0, 0, 0.12) | 0px, -3px | 6px | -4px |
rgba(0, 0, 0, 0.08) | 0px, -6px | 16px | 0px | |
rgba(0, 0, 0, 0.05) | 0px, -9px | 28px | 8px | |
@shadow-2-down | rgba(0, 0, 0, 0.12) | 0px, 3px | 6px | -4px |
rgba(0, 0, 0, 0.08) | 0px, 6px | 16px | 0px | |
rgba(0, 0, 0, 0.05) | 0px, 9px | 28px | 8px | |
@shadow-2-left | rgba(0, 0, 0, 0.12) | -3px, 0px | 6px | -4px |
rgba(0, 0, 0, 0.08) | -6px, 0px | 16px | 0px | |
rgba(0, 0, 0, 0.05) | -9px, 0px | 28px | 8px | |
@shadow-2-right | rgba(0, 0, 0, 0.12) | 3px, 0px | 6px | -4px |
rgba(0, 0, 0, 0.08) | 6px, 0px | 16px | 0px | |
rgba(0, 0, 0, 0.05) | 9px, 0px | 28px | 8px |
第三層:
陰影類(lèi)型 | 陰影顏色(rgba) | 方向(X, Y) | 模糊度(Blur) | 擴(kuò)展值(Spread) |
---|---|---|---|---|
@shadow-3-up | rgba(0, 0, 0, 0.08) | 0px, -6px | 16px | -8px |
rgba(0, 0, 0, 0.05) | 0px, -9px | 28px | 0px | |
rgba(0, 0, 0, 0.03) | 0px, -12px | 48px | 16px | |
@shadow-3-down | rgba(0, 0, 0, 0.08) | 0px, 6px | 16px | -8px |
rgba(0, 0, 0, 0.05) | 0px, 9px | 28px | 0px | |
rgba(0, 0, 0, 0.03) | 0px, 12px | 48px | 16px | |
@shadow-3-left | rgba(0, 0, 0, 0.08) | -6px, 0px | 16px | -8px |
rgba(0, 0, 0, 0.05) | -9px, 0px | 28px | 0px | |
rgba(0, 0, 0, 0.03) | -12px, 0px | 48px | 16px | |
@shadow-3-right | rgba(0, 0, 0, 0.08) | 6px, 0px | 16px | -8px |
rgba(0, 0, 0, 0.05) | 9px, 0px | 28px | 0px | |
rgba(0, 0, 0, 0.03) | 12px, 0px | 48px | 16px |
更多建議: