css实现动态阴影
创建与类似的阴影box-shadow 而是基于元素本身的颜色。
代码实现:
<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>
效果如下:
说明
代码片段需要一些复杂的情况来正确堆叠上下文,这样伪元素将定位在元素本身的下面,同时仍然可见。
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
将伪元素定位在父元素后面。
浏览器支持91.7 %,需要前缀才能获得完全支持
蚀刻文本
创建文本显示为“蚀刻”或刻在背景中的效果。
代码实现:
<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 %,使用非标准属性。
这里推荐一下我的学习交流群:731771211,里面都是学习前端的,如果你想制作酷炫的网页,想学习编程。自己整理了一份2018最全面前端学习资料,从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴,有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。
网友评论