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