当前位置: 首页 > news >正文

如何使用CSS创建渐变阴影?

随着网络的不断发展,制作漂亮的 UI 是提高客户在网站上的参与度的最重要的工作之一。改善前端外观的方法之一是在 CSS 中应用渐变阴影。应用渐变阴影的两种最重要的方法是线性渐变和径向渐变。

渐变阴影可用于吸引用户对特定信息的注意力,应用悬停或焦点效果,或为网站提供 Web3 外观和感觉。以下我们将通过实际示例来分析两种渐变阴影。

我们将利用两个重要的CSS概念来获得效果,一个是filter属性,另一个是::after伪类。伪类将用于创建假背景,而过滤器属性将用于对周围背景应用模糊效果。

方法一:线性渐变阴影

在此示例中,我们将了解如何在卡片上应用线性渐变阴影效果。

语法

.classname::after{	background: linear-gradient(direction, color1, [color2, color3.......]);inset: -0.5rem;filter: blur(25px);.......
}

 

其中,classname 是指分配给给定标签的类,direction 属性表示颜色的线性排列应沿哪个方向排列。这可以以“deg”形式提供,也可以使用预先设计的字符串(例如“to right”)。

算法

第一步:创建网站的html文档骨架,并为需要渐变效果的标签指定类名。

第 2 步:使用 ::after 伪类,其类名与分配给标记的类名相同。

第 3 步:使用 Linear−gradient() CSS 函数用所需的渐变颜色填充伪类的背景。

第4步:为了确保伪类永远不会叠加在原始类上,请在伪类中添加 z−index 属性,其值低于分配给原始类的值。

第5步:给伪类添加一点inset属性,使原始类不完全覆盖背景。

第6步:最后应用渐变阴影效果,对伪组件应用模糊。

示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Linear Gradient Shadow</title>
</head>
<body><div class="gradient"><h1>Welcome to Tutorials Point</h1></div><style>*{margin: 0px;padding: 0px;}.gradient{margin-top: 20px;margin-left: 5%;width: 90%;position: relative;border-radius: 10px;padding-top: 15px;padding-bottom: 15px;padding-right: 10px;padding-left: 10px;background-color: black;}h1{color: white;text-align: center;}.gradient::after{content: "";position: absolute;z-index: -100;background: linear-gradient(to right, blue, cyan,lime,  green, yellow, orange, red);inset: -0.5rem;filter: blur(25px);}</style>
</body>
</html>

 

方法二:径向渐变阴影

在此示例中,我们将了解如何将径向渐变阴影效果应用到相同的卡片效果并观察变化。

语法

.classname::after{	background: radial-gradient(color1, [color2, color3.......]);inset: -0.5rem;filter: blur(25px);.......
}

 

算法

第一步:创建网站的html文档骨架,并为需要渐变效果的标签指定类名。

第 2 步:使用 ::after 伪类,其类名与分配给标记的类名相同。

第 3 步:使用 Radial−gradient() CSS 函数用所需的渐变颜色填充伪类的背景。

第4步:为了确保伪类永远不会叠加在原始类上,请在伪类中添加 z−index 属性,其值低于分配给原始类的值。

第5步:给伪类添加一点inset属性,使原始类不完全覆盖背景。

第6步:最后应用渐变阴影效果,对伪组件应用模糊。

示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Radial Gradient Shadow</title>
</head>
<body><div class="gradient"><h1>Welcome to Tutorials Point</h1></div><style>*{margin: 0px;padding: 0px;}.gradient{margin-top: 20px;margin-left: 5%;width: 90%;position: relative;padding-top: 50px;padding-bottom: 50px;border-radius: 10px;padding-right: 10px;padding-left: 10px;background-color: black;}h1{color: white;text-align: center;}.gradient::after{content: "";position: absolute;z-index: -100;background: radial-gradient(yellow, red, blue);inset: -1rem;filter: blur(10px);}</style>
</body>
</html>

 

总结

径向渐变颜色源自标签的中心,从上面的例子可以看出,黄色完全被黑色背景叠加,而在卡片侧面的中点处发现了一些红色的痕迹。另一方面,在线性渐变中,没有观察到叠加,因为它根据提供的方向沿所有边均匀分布所有颜色。

我们还可以调整 inset 和 Blur 的值来增加或减少渐变效果所覆盖的区域。负值越大,渐变就越突出,而模糊值则使效果在两侧更加分散。

http://www.lryc.cn/news/144186.html

相关文章:

  • perl send HTTP Request
  • 阿里云CDN缓存预热与刷新以及常见的故障汇总
  • Oracle创建控制列表ACL(Access Control List)
  • 3D模型转换工具HOOPS Exchange助力打造虚拟现实应用程序
  • python web GUI框架-NiceGUI 教程(二)
  • RT_Thread内核机制学习(二)
  • 线性代数的学习和整理12: 矩阵与行列式,计算上的差别对比
  • 2023年MySQL核心技术面试第一篇
  • linux启动jar 缺失lib
  • 【Bash】常用命令总结
  • 小研究 - Java虚拟机性能及关键技术分析
  • Repo manifests默认default.xml清单文件中的各个标签详解
  • javacv基础02-调用本机摄像头并预览摄像头图像画面视频
  • 【Nginx21】Nginx学习:FastCGI模块(三)缓冲区与响应头
  • 正则表达式(常用字符简单版)
  • 从零开始学习Python爬虫:详细指南
  • 分布式计算框架:Spark、Dask、Ray
  • 什么是伪类链(Pseudo-class Chaining)?
  • 每日一题:leetcode 57 插入区间
  • 第五节:实现自己的第一个environment
  • 无套路,财务数据分析-多组织损益表分析分享
  • Java并发编程第6讲——线程池(万字详解)
  • AI + Milvus:将时尚应用搭建进行到底
  • 归并排序(Java 实例代码)
  • 【VUE】数字动态变化到目标值-vue-count-to
  • Mysql /etc/my.cnf参数详解(二)
  • AUTOSAR规范与ECU软件开发(实践篇)6.10AUTOSAR操作系统概念与配置方法介绍(下)
  • 蓝牙 - 经典蓝牙物理信道介绍
  • 性能测试中未做集群时,在登入中已经保存了登入的session,但可能会出现在不同的服务器上显示登入失败
  • Python环境下载安装使用