css實現動態陰影css
建立與相似的陰影box-shadow 而是基於元素自己的顏色。前端
代碼實現:web
<div class="dynamic-shadow-parent"> <div class="dynamic-shadow"></div> </div> <style> .dynamic-shadow-parent { position: relative; z-index: 1; } .dynamic-shadow { position: relative; width: 10rem; height: 10rem; background: linear-gradient(75deg, #6d78ff, #00ffb8); } .dynamic-shadow::after { content: ''; width: 100%; height: 100%; position: absolute; background: inherit; top: 0.5rem; filter: blur(0.4rem); opacity: 0.7; z-index: -1; } </styel>
效果以下:瀏覽器
說明app
代碼片斷須要一些複雜的狀況來正確堆疊上下文,這樣僞元素將定位在元素自己的下面,同時仍然可見。spa
position: relative
在父元素上爲子元素創建笛卡爾定位上下文。z-index: 1
創建新的堆疊內容。position: relative
在子級上創建僞元素的定位上下文。::after
定義僞元素。position: absolute
從文檔流中取出僞元素,並將其相對於父元素定位。width: 100%
和height: 100%
調整僞元素的大小以填充其父元素的尺寸,使其大小相等。background: inherit
使僞元素繼承在元素上指定的線性漸變。top: 0.5rem
將僞元素從其父元素稍微向下偏移。filter: blur(0.4rem)
將模糊僞元素以在下面建立陰影的外觀。opacity: 0.7
使僞元素部分透明。z-index: -1
將僞元素定位在父元素後面。code
瀏覽器支持91.7 %,須要前綴才能得到徹底支持blog
蝕刻文本繼承
建立文本顯示爲「蝕刻」或刻在背景中的效果。ip
代碼實現:
<p class="etched-text">I appear etched into the background.</p> </styel> .etched-text { text-shadow: 0 2px white; font-size: 1.5rem; font-weight: bold; color: #b8bec5; } </styel>
效果以下:
說明
text-shadow: 0 2px white
建立白色陰影偏移0px 水平和2px 垂直於原點位置。
背景必須比陰影暗,效果才能發揮做用。
文字顏色應該稍微褪色,使其看起來像是刻在背景上的。
瀏覽器支持98.1 %,沒有警告。
漸變文本
爲文本提供漸變顏色。
代碼實現:
<p class="gradient-text">Gradient text</p> </styel> .gradient-text { background: -webkit-linear-gradient(pink, red); -webkit-text-fill-color: transparent; -webkit-background-clip: text; } </styel>
效果以下:
說明
background: -webkit-linear-gradient(...)
爲文本元素提供漸變背景。webkit-text-fill-color: transparent
使用透明顏色填充文本。webkit-background-clip: text
用文本剪輯背景,用漸變背景做爲顏色填充文本。
瀏覽器支持91.5 %,使用非標準屬性。
web前端開發新手進階q.u.n:731.771.211