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

news2024/9/20 11:00:51

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.coloradmin.cn/o/1904705.html

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

相关文章

1958.力扣每日一题7/7 Java(100%解)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;算法练习关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 目录 思路 解题方法 时间复杂度 空间复杂度 Code 思路 首先将指定位…

【ubuntu中关于驱动得问题】—— 如何将nouveau驱动程序加入黑名单和安装NVIDIA显卡驱动

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、nouveau驱动程序加入黑名单二、安装NVIDIA显卡驱动总结 前言 NVIDIA显卡驱动是用于支持和优化NVIDIA显卡在计算机系统中运行的关键软件组件。该驱动程序能…

2024 WAIC|第四范式胡时伟分享通往AGI之路:行业大模型汇聚成海

7月4日&#xff0c;2024世界人工智能大会&#xff08;WAIC&#xff09;正式开幕。此次大会围绕核心技术、智能终端、应用赋能等板块展开&#xff0c;展览规模、参展企业数均达历史最高。第四范式受邀参展&#xff0c;集中展示公司十年来在行业大模型产业应用方面的实践。在当天…

Django 查询数据

模型参考上一章内容&#xff1a; Django QuerySet对象&#xff0c;filter()方法-CSDN博客 查询数据可以通过以下方法&#xff1a; Book.objects.all() Book.objects.filter() Book.objects.get() 1&#xff0c;添加视图函数 Test/app11/views.py from django.shortcuts im…

【QT中堆栈布局的实现】

学习分享 1、环境设置&#xff0c;头文件2、.h文件2.1、主界面.h文件2.2、对话界面1.h文件2.3、对话界面2.h文件 3、.cpp文件3.1、对话界面1.cpp3.2、对话界面2.cpp3.3、主界面.cpp3.4、main.cpp 1、环境设置&#xff0c;头文件 该示例使用C14实现&#xff0c;因此在QT项目pro文…

实战:搭建一款属于自己的个人知识库~docusaurus(强大且丝滑)-2024.7.7(测试成功)

目录 文章目录 目录docusaurus简介效果专题链接&#x1f44f;环境源码1、安装基础环境2、拉取代码3、安装坚果云并同步md核心文件4、构建运行5、配置脚本环境1.配置vscode终端到ecs的免密2.配置win10 vscode终端环境变量 6、构建并推送静态文件到ecs关于我最后最后 docusaurus简…

基于CentOS Stream 9平台搭建RabbitMQ3.13.4以及开机自启

1. erlang与RabbitMQ对应版本参考&#xff1a;https://www.rabbitmq.com/which-erlang.html 2. 安装erlang 官网&#xff1a;https://www.erlang.org/downloads GitHub: https://github.com/rabbitmq/erlang-rpm/releases 2.1 安装依赖&#xff1a; yum -y install gcc glib…

BigDecimal(double)和BigDecimal(String)有什么区别?BigDecimal如何精确计数?

BigDecimal(double)和BigDecimal(String)的区别 double是不精确的&#xff0c;所以使用一个不精确的数字来创建BigDecimal&#xff0c;得到的数字也是不精确的。如0.1这个数字&#xff0c;double只能表示他的近似值。所以&#xff0c;当我们使用new BigDecimal(0.1)创建一个Bi…

算法简介:什么是算法?——定义、历史与应用详解

引言 在现代计算机科学中&#xff0c;算法是一个核心概念。无论是编程还是数据分析&#xff0c;算法都扮演着至关重要的角色。在这篇博客中&#xff0c;我们将深入探讨算法的定义、历史背景以及它在计算机科学中的地位和实际应用。 什么是算法&#xff1f; 算法是解决特定问题…

STM32基础篇:GPIO

GPIO简介 GPIO&#xff1a;即General Purpose Input/Output&#xff0c;通用目的输入/输出。就是一种片上外设&#xff08;内部模块&#xff09;。 对于STM32的芯片来说&#xff0c;周围有一圈引脚&#xff0c;有时需要对引脚进行读写&#xff08;读&#xff1a;从外部输入一…

数字信号处理及MATLAB仿真(3)——量化的其他概念

上回书说到AD转换的两个步骤——量化与采样两个步骤。现在更加深入的去了解以下对应的概念。学无止境&#xff0c;要不断地努力才有好的收获。万丈高楼平地起&#xff0c;唯有打好基础&#xff0c;才能踏实前行。 不说了&#xff0c;今天咱们继续说说这两个步骤&#xff0c;首先…

51单片机-第一节-LED和独立按键

一、点亮LED&#xff1a; 首先包含头文件 <REGX52.H> 随后令P2为0xFE。(此时二进制对应1111 1110&#xff0c;为0 的LED亮&#xff0c;故八个灯中的最后一个亮起)。 注&#xff1a;P2为控制LED的8位寄存器。 void main() {P2 0xFE;//1111 1110while(1){} } 二、L…

非同步升压转换器,效率95%你信吗?ETA1611输出电流2A, 22V DCDC

前言&#xff1a; 截止24年7月7日某创报价&#xff1a;500&#xff1a; &#xffe5;0.7856 / 个 建议使用前同时了解下方器件。 2毛钱的SOT23-5封装28V、1.5A、1.2MHz DCDC转换器用于LCD偏置电源和白光LED驱动等MT3540升压芯片 描述 ETA1611 SOT23-6封装 丝印GVYW&#xff0…

基于java语言+ Vue+ElementUI+ MySQL8.0.36数字化产科管理平台源码,妇幼信息化整体解决方案

基于java语言 VueElementUI MySQL8.0.36数字化产科管理平台源码&#xff0c;妇幼信息化整体解决方案 数字化产科管理平台是为医院产科量身定制的信息管理系统。它管理了孕妇从怀孕开始到生产结束42天一系列医院保健服务信息。该系统由门诊系统、住院系统、数据统计模块三部分组…

MSPM0G3507——滴答定时器和普通定时

滴答定时器定时&#xff1a;&#xff08;放在主函数即可&#xff09; volatile unsigned int delay_times 0;//搭配滴答定时器实现的精确ms延时 void delay_ms(unsigned int ms) {delay_times ms;while( delay_times ! 0 ); } //滴答定时器中断 void SysTick_Handler(…

【2024_CUMCM】时间序列算法ARMA

目录 2023-c-问题二 问题分析 介绍 单位根检验 白噪声检验 自相关和偏自相关图 利用信息准则定阶 构建AMIMA模型 D-W检验 预测 代码 2023-c-问题二 问题分析 ARMA适合多个领域的时间序列分析&#xff0c;不同时间的定价策略属于这类问题。 介绍 ARMA模型&…

一.2.(4)放大电路静态工作点的稳定;(未完待续)

1.Rb对Q点及Au的影响 输入特性曲线&#xff1a;Rb减少&#xff0c;IBQ&#xff0c;UBEQ增大 输出特性曲线&#xff1a;ICQ增大&#xff0c;UCEQ减少 AUUO/Ui分子减少&#xff0c;分母增大&#xff0c;但由于分子带负号&#xff0c;所以|Au|减少 2.Rc对Q点及Au的影响 输入特性曲…

2024暑假集训

Day1——枚举 Day2——测试 Day3——贪心 Day4、5——测试 ——————————————————————————————————————————— Day3T7&Day5T7:没思路 Day3T8:不知道怎么排序筛选 Day5T5:没有算法难度&#xff0c;但是不知道怎么处理2队奶牛的情…

【大数据综合试验区1008】揭秘企业数字化转型:大数据试验区政策数据集大公开!

今天给大家分享的是国内顶级期刊中国工业经济2023年发布的最新期刊《政策赋能、数字生态与企业数字化转型——基于国家大数据综合试验区的准自然实验》文章中所使用到的数据集——国家大数据综合试验区政策数据集以及工具变量数据&#xff0c;该文章基于2009-2019年中国上市企业…

PYTHON自学笔记(一)vscode配置

安装python 自行官网下载 安装vscode 自行官网下载 环境变量设置 把python和scripts的文件路径&#xff0c;添加到环境变量的path中&#xff0c;如图&#xff1a; 此项不弄&#xff0c;在命令行模式中系统不会认为你装了python和pip&#xff0c;你的输入相关命令shell不会…