前端必修技能:高手进阶核心知识分享 - CSS 阴影属性详解

CSS 涉及设计到阴影的相关内容包括三个方面:box-shadow属性(盒子阴影)、 text-shadow属性(文本阴影)、drop-shadow滤镜。 本篇文章旨在详细介绍和分析三种阴影的具体参数设置和典型用例。

box-shadow属性(盒子阴影)

向容器div添加阴影属性,box-shadow属性可以设置一个或多个下拉阴影的框。注意:box-shadow可以给同一个元素设置多个阴影效果,并用逗号进行分隔。

box-shadow属性(盒子阴影)语法

box-shadow: h-shadow v-shadow blur spread color inset;

boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表,每个阴影由 2-4 个长度值、一个可选的颜色值和一个可选的 inset 关键字来规定。省略长度的值是 0。

说明
h-shadow必需的。水平阴影的位置。允许负值
v-shadow必需的。垂直阴影的位置。允许负值
blur可选。模糊距离
spread可选。阴影的大小
color可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表
inset可选。 阴影向内扩散,否则阴影向外扩散。

box-shadow属性(盒子阴影)属性详解

基本属性 | rgba(0,0,0,1.0)

总结:通过上面的属性演示,基本效果相信大家心里都已经有所收获。但不知道你发现没有,我们可以利用shadow属性实现更多有趣的效果。
  • 利用 h-shadow 和 v-shadow 属性,可以用来模拟盒子的边框。
  • 利用 h-shadow、 v-shadow、 和 spread 属性,我们可以给盒子的边框增加不同颜色。
  • 结合动画,利用v-shadow 和inset(内阴影) 可以实现按钮按下去的效果
  • 再想想,还能做出什么更有趣的效果呢? 浮空? 跳动? 闪烁?

box-shadow属性(盒子阴影)应用案例

  • 立体按钮:利用 h-shadow 属性,模拟按钮的立体效果。
  • 七彩圆:利用 多重的 spread 属性,通过调整 spread 数值大小实现了七色圆环套环效果。
  • 凹陷按钮:利用 blur 属性实现按钮的外部渐变,利用inset 1像素的白色阴影,实现按钮顶部的高光线效果。 当鼠标移动到按钮上,利用 inset 属性调整了阴影的灰度,以及1像素的按钮边框的高光,使按钮模拟出被按下的凹陷效果。 文字阴影的配合也恰到好处的实现了凹陷的效果。
  • 闪烁的圆:利用了 blur属性 与CSS动画相结合,实现闪烁发光的效果。这个稍微调整一下,可以用来模拟太阳和月亮的发光效果。
  • 进度条:利用inset 1像素的白色阴影,实现进度条顶部的高光线效果,利用inset 5像素的白色阴影,实现按钮水晶透明的材质效果(上半条高光)。利用inset阴影,模拟进度条灰色背景的凹陷效果
  • 浮空卡片:利用阴影效果,实现了卡片的立体感。配合css动画,使鼠标移动到卡片上时,产生了卡片悬浮起来与投影产生分离的效果。
  • 运动的小球:球体本身就是通过内阴影实现的。另外叠加的投影配合动画的放大缩小,实现了这种看起来球体由远及近的效果。
  • 彩色的花:它是通过多层的彩色阴影叠加和旋转产生的,也很有趣。
总结:通过上面的属性应用案例,我们知道了可以利用shadow属性实现更多有趣的效果,那么期待你去实现更多!

text-shadow属性(文本阴影)

非常好理解,所见即所得!这个属性,就是给文本添加阴影效果。注意: text-shadow属性连接一个或更多的阴影文本。属性是阴影,指定的每2或3个长度值和一个可选的颜色值用逗号分隔开来。已失时效的长度为0。- css3 允许一段文字有多层阴影,多层之间用逗号隔开,每一层内,不同参数之间用空格隔开。

text-shadow属性(文本阴影)语法

text-shadow: h-shadow v-shadow blur color;
描述
h-shadow必需。水平阴影的位置。允许负值。正负不表示大小,只表示方向。水平向右为正,向左为负,单位是px
v-shadow必需。垂直阴影的位置。允许负值。正负不表示大小,只表示方向。水平向下为正,向上为负,单位是px
blur可选。模糊的距离。数值越大阴影越模糊,单位px
color可选。阴影的颜色。参阅 CSS 颜色值。

text-shadow属性(文本阴影)典型应用

h1{ text-shadow: 2px 2px 5px #ff0000; }

下面是这句代码的效果:

水平方向向右 2 像素,垂直方向 向下2 像素,模糊距离 5 像素,颜色红色。需要注意的是,  text-shadow 属性 与 box-shadow属性不同,不支持spread 属性,即不可以调节投影扩散的大小。

text-shadow属性(文本阴影)应用实例

Drop-shadow 滤镜

Drop-shadow 可以接受的<shadow>参数介绍

drop-shadow滤镜可以接受 (shadow)属性除了"inset"关键字的其他值。
  • <offset-x> <offset-y>(必须) 这是设置阴影偏移量的两个 <length>值. <offset-x> 设定水平方向距离. 负值会使阴影出现在元素左边. <offset-y>设定垂直距离.负值会使阴影出现在元素上方。查看<length>可能的单位. 如果两个值都是0, 则阴影出现在元素正后面 (如果设置了 <blur-radius> and/or <spread-radius>,会有模糊效果).
  • <blur-radius> (可选) 这是第三个code><length>值. 值越大,越模糊,则阴影会变得更大更淡.不允许负值 若未设定,默认是0 (则阴影的边界很锐利).
  • <spread-radius> (可选)  这是第四个 <length>值. 正值会使阴影扩张和变大,负值会是阴影缩小.若未设定,默认是0 (阴影会与元素一样大小).
  • 注意: Webkit, 以及一些其他浏览器 不支持第四个长度,如果加了也不会渲染。
  • <color> (可选)   查看 <color>该值可能的关键字和标记。若未设定,颜色值基于浏览器。在Gecko (Firefox), Presto (Opera)和Trident (Internet Explorer)中, 会应用colorcolor属性的值。另外, 如果颜色值省略,WebKit中阴影是透明的。

PS: 由于篇幅和时间有限,本例涉及到的有趣的CSS效果代码,我将在后续几日的 CSS技巧 文章中发布出来。当然,大家需要哪个代码,也可以在评论区留言给我。我会优先发出来的。感谢大家持续关注我!谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/41540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

预防临床预测模型中可能的“算法歧视”

预防临床预测模型中可能的“算法歧视” 概要&#xff1a;如果训练数据中存在性别方面的不均衡&#xff0c;会让训练出的模型存在性别方面的“算法歧视”&#xff0c;进而导致某种性别下存在更多的误诊误治&#xff0c;最终造成医疗资源分配的不公平的伦理问题&#xff0c;导致模…

04.C1W3.Vector Space Models

往期文章请点这里 目录 Vector Space ModelsWord by Word and Word by DocWord by Document DesignWord by Document DesignVector Space Euclidean DistanceEuclidean distance for n-dimensional vectors Euclidean distance in PythonCosine Similarity: IntuitionCosine S…

STM32-SPI和W25Q64

本内容基于江协科技STM32视频学习之后整理而得。 文章目录 1. SPI&#xff08;串行外设接口&#xff09;通信1.1 SPI通信简介1.2 硬件电路1.3 移位示意图1.4 SPI时序基本单元1.5 SPI时序1.5.1 发送指令1.5.2 指定地址写1.5.3 指定地址读 2. W25Q642.1 W25Q64简介2.2 硬件电路2…

嵌入式C语言面试相关知识——内存管理(不定期更新)

嵌入式C语言面试相关知识——内存管理&#xff08;不定期更新&#xff09; 一、博客声明二、自问题目1、嵌入式系统的内存布局是怎么样的&#xff1f;2、动态内存分配在嵌入式系统中的使用有什么注意事项&#xff1f;3、什么是内存碎片&#xff0c;如何减少内存碎片&#xff1f…

win11自动删除文件的问题,安全中心提示

win11自动删除文件的问题&#xff0c;解决方法&#xff1a; 1.点击任务栏上的开始图标&#xff0c;在显示的应用中&#xff0c;点击打开设置。 或者点击电脑右下角的开始也可以 2.点击设置。也可以按Wini打开设置窗口。 3.左侧点击隐私和安全性&#xff0c;右侧点击Windows安全…

我国网络安全领域有哪些法律法规?主要内容是什么?

1. 背景介绍 网络信息安全方面的法规在全球范围内都有相应的立法&#xff0c;我们主要的立法有《网络安全法》、《密码法》、《数据安全法》以及《个人信息保护法》。当前也有一些相关的条例和管理办法&#xff0c;接下来就为大家一一介绍。 2. 法规介绍 在中国&#xff0c;…

多线程(进阶)

前言&#x1f440;~ 上一章我们介绍了线程池的一些基本概念&#xff0c;今天接着分享多线程的相关知识&#xff0c;这些属于是面试比较常见的&#xff0c;大部分都是文本内容 常见的锁策略 乐观锁 悲观锁 轻量锁 重量级锁 自旋锁 挂起等待锁 可重入锁和不可重入锁 互斥…

Leetcode 3207. Maximum Points After Enemy Battles

Leetcode 3207. Maximum Points After Enemy Battles 1. 解题思路2. 代码实现 题目链接&#xff1a;3207. Maximum Points After Enemy Battles 1. 解题思路 这一题的话其实关键在于说是想明白最优策略&#xff0c;事实上这道题的最优策略就是捡着最弱的enemy薅&#xff0c;…

接口测试分析、设计以及实现

接口相关理论 ui功能测试和接口测试哪个先执行&#xff1f;–为什么 结论&#xff1a;接口测试先执行 原因&#xff1a;ui功能测试需要等待前端页面开发完成、后台接口开发完后且前端与后端联调完成。ui功能测试与接口测试的区别&#xff1f; ui功能&#xff1a;功能调用&am…

学习笔记——交通安全分析14

目录 前言 当天学习笔记整理 5城市主干道交通安全分析 结束语 前言 #随着上一轮SPSS学习完成之后&#xff0c;本人又开始了新教材《交通安全分析》的学习 #整理过程不易&#xff0c;喜欢UP就点个免费的关注趴 #本期内容接上一期13笔记 当天学习笔记整理 5城市主干道交…

Avalonia中的Property

文章目录 前言附加属性样式属性直接属性总结前言 在WPF中, 是可以定义依赖属性和附加属性的 依赖属性: 当您需要单独创建控件时, 并且希望控件的某个部分能够支持数据绑定时, 你则可以使用到依赖属性。 通过DependencyProperty.Register注册依赖属性 附加属性: 这种情况很多,…

【原理+使用】DeepCache: Accelerating Diffusion Models for Free

论文&#xff1a;arxiv.org/pdf/2312.00858 代码&#xff1a;horseee/DeepCache: [CVPR 2024] DeepCache: Accelerating Diffusion Models for Free (github.com) 介绍 DeepCache是一种新颖的无训练且几乎无损的范式&#xff0c;从模型架构的角度加速了扩散模型。DeepCache利…

【因果推断】优惠券政策对不同店铺的影响

这次依然是用之前rossmann店铺竞赛的数据集。 之前的数据集探索处理在这里已经做过了&#xff0c;此处就不再赘述了CSDN链接 数据集地址&#xff1a;竞赛链接 这里探讨数据集中Promo2对于每家店铺销售额的影响。其中&#xff0c;Promo2是一个基于优惠券的邮寄活动&#xff0c;发…

SQL Server 2022 中的 Tempdb 性能改进非常显著

无论是在我的会话中还是在我写的博客中&#xff0c;Tempdb 始终是我的话题。然而&#xff0c;当谈到 SQL Server 2022 中引入的重大性能变化时&#xff0c;我从未如此兴奋过。他们解决了我们最大的性能瓶颈之一&#xff0c;即系统页面闩锁并发。 在 SQL Server 2019 中&#x…

三级_网络技术_06_IP地址规划技术

1.下列对IPv6地址表示中&#xff0c;错误的是()。 AE1A:0:0:0:0:A2:F3:FE08:5 E3E0::1A90:FE:0:4CA2:9C5C E2C1::0:0:81/48 :E140:1A5C:0:05D9 2.下列对IPv6地址表示中&#xff0c;错误的是()。 1F1A:0:0:0:0:A2:F3:FE08:3 E360::2A90:FE:0:4CA2:9C5A B2C1::0:0:81/48 …

Go语言如何入门,有哪些书推荐?

Go 语言之所以如此受欢迎&#xff0c;其编译器功不可没。Go 语言的发展也得益于其编译速度够快。 对开发者来说&#xff0c;更快的编译速度意味着更短的反馈周期。大型的 Go 应用程序总是能在几秒钟之 内完成编译。而当使用 go run编译和执行小型的 Go 应用程序时&#xff0c;其…

如何利用Github Action实现自动Merge PR

我是蚂蚁背大象(Apache EventMesh PMC&Committer)&#xff0c;文章对你有帮助给项目rocketmq-rust star,关注我GitHub:mxsm&#xff0c;文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsmapache.com 1. 引言 GitHub Actions 是 GitHub 提供的一种强大而灵活的自…

(九)Docker 的网络通信

文章目录 1、常用模式2、概念了解2.1、Docker 内容器的通信2.2、宿主机和 Docker容器的通信 1、常用模式 直接使用 端口映射&#xff0c;宿主机:宿主机端口->容器 ip:容器端口端口映射宿主机 hosts 映射&#xff0c;首先在宿主机 /etc/hosts文件中增加 宿主机 ip:容器 host…

Mojo: 轻量级Perl框架的魔力

在Perl的丰富生态系统中&#xff0c;Mojolicious&#xff08;简称Mojo&#xff09;是一个轻量级的实时Web框架&#xff0c;以其极简的API和强大的功能而受到开发者的喜爱。Mojo不仅适用于构建高性能的Web应用&#xff0c;还可以用来编写简单的脚本和命令行工具。本文将带你探索…

SSM中小学生信息管理系统 -计算机毕业设计源码02677

摘要 随着社会的发展和教育的进步&#xff0c;中小学生信息管理系统成为学校管理的重要工具。本论文旨在基于SSM框架&#xff0c;采用Java编程语言和MySQL数据库&#xff0c;设计和开发一套高效、可靠的中小学生信息管理系统。中小学生信息管理系统以学生为中心&#xff0c;通过…