盒子阴影效果与环绕阴影

news2025/2/21 21:29:31

box-shadow

在前端样式里面,最常见的一中效果之一就是阴影,好的阴影可以瞬间给人一种高端的用户体验,今天简单总结下这个样式的语法与使用方法。

语法

box-shadow的语法其实是比较简单好记的,我们按照最全面的写法来看

  1. x轴偏移量:为正数时阴影向盒子右边延申
  2. y轴偏移量 :为正数时阴影向盒子下方延申(这里与我们一直熟悉的坐标系是相反的)
  3. 阴影模糊半径:值越大,模糊面积越大,阴影就越大越淡。不能为负值。默认为 0,此时阴影边缘锐利。
  4. 阴影扩散半径:取正值时,阴影扩大;取负值时,阴影收缩。默认为 0,此时阴影与元素同样大
  5. 阴影颜色
  6. 是否内嵌:使用inset会定义内嵌的阴影,所以效果都会向盒子内部延申,内嵌式x和y轴偏移量则取反

值得一提的是box-shadow的阴影设置是可以不止一层的。例如我们想要一个两层的盒子阴影:
box-shadow: 2px 2px #000, 4px 4px #f0; 这样我们就得到了一个黑色与红色重叠的阴影效果。

简单说完box-shadow,我们来想想这样的场景:假设我有一种png图片,图片结果类似于圆形,如下:请添加图片描述
当我尝试为这样图片添加阴影的时候,他就会出现如下效果:在这里插入图片描述
这绝对不是我们想要的,我们肯定更趋向于只对圆形部分添加阴影。这个时候box-shadow显然已经不能满足我们的需求了。我们必须借助filter这个样式来实现。

filter

filter的参数都为执行函数

  1. blur():将高斯模糊应用于输入图像
  2. brightness():将线性乘法器应用于输入图像,以调整其亮度。值为 0% 将创建全黑图像;值为 100% 会使输入保持不变,其他值是该效果的线性乘数。如果值大于 100% 将使图像更加明亮。(简单来说就是设置100%则图片颜色不变,越低则越暗,越高则越亮,这个想过其实很多时候可以用做选中的高亮展示)
  3. contrast():调整输入图像的对比度。值是 0% 将使图像变灰;值是 100%,则无影响;若值超过 100% 将增强对比度。
  4. drop-shadow():使用 <shadow> 参数沿图像的轮廓生成阴影效果。阴影语法类似于 ,但不允许使用 inset 关键字以及 spread 参数。与所有 filter 属性值一样,任何在 drop-shadow() 后的滤镜同样会应用在阴影上。
  5. grayscale():将图像转换为灰度图。值为 100% 则完全转为灰度图像,若为初始值 0% 则图像无变化。值在 0% 到 100% 之间,则是该效果的线性乘数。
  6. hue-rotate() :应用色相旋转。 值设定图像会被调整的色环角度值。值为 0deg,则图像无变化。
  7. invert():反转输入图像。值为 100% 则图像完全反转,值为 0% 则图像无变化。值在 0% 和 100% 之间,则是该效果的线性乘数。
  8. opacity():应用透明度。值为 0% 则使图像完全透明,值为 100% 则图像无变化。
  9. saturate():改变图像饱和度。值为 0% 则是完全不饱和,值为 100% 则图像无变化。超过 100% 则增加饱和度。
    10.sepia():将图像转换为深褐色。值为 100% 则完全是深褐色的,值为 0% 图像无变化。

这个时候我们使用filter的 drop-shadow()

filter: drop-shadow(0 0 10px #000);

在这里插入图片描述
完成!

附上自己写的一个盒子影音的精美样例,并支持在线修改!
http://ffanddd.gitee.io/box-shadow-show
git地址:https://gitee.com/ffanddd/box-shadow-show.git

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

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

相关文章

社区团购商城拼团秒杀接龙分销团长小程序开源版开发

社区团购商城拼团秒杀接龙分销团长小程序开源版开发 功能介绍&#xff1a; 商品管理&#xff1a;增加商品-商品列表-商品分类-商品单/多规格-商品标签 订单管理&#xff1a;订单列表-订单挑选-订单导出-订单打印-批量发货-商品评价 会员管理&#xff1a;会员列表-会员挑选-会员…

1. 基于UDP的TFTP文件传输上传下载完整版本

1&#xff09;tftp协议概述 简单文件传输协议&#xff0c;适用于在网络上进行文件传输的一套标准协议&#xff0c;使用UDP传输 特点&#xff1a; 是应用层协议 基于UDP协议实现 数据传输模式 octet&#xff1a;二进制模式&#xff08;常用&#xff09; mail&#xff1a;…

jenkins 安装nodejs 14

参考&#xff1a; jenkins容器安装nodejs-前端问答-PHP中文网

微服务08-多级缓存

1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: •请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 •Redis缓存失效时,会对数据库产生冲击 多级缓存就是充分利用请求处理的每个环节,分…

VB6查表法编解Modbus RTU协议CRC16校验码

Modbus RTU协议CRC16编解码用VB6写起来比较啰嗦&#xff0c;需要做一些简单处理。下面就查表法&#xff0c;贴上源代码&#xff0c;并做一些简要说明。 源程序&#xff0c;对照上面的图看更方便。 Private Sub Command2_Click() Dim I As Integer, J As Integer Dim CRCHi As …

部署lawyer-llama

Git - Downloading PackageGit - Downloading PackageGit - Downloading Package 下载git&#xff0c;wget需要下载一下 &#xff08;GNU Wget 1.21.4 for Windows&#xff09;&#xff0c; Windows中git bash完全可以替代原生的cmd&#xff0c;但是对于git bash会有一些Linu…

HTTP之cookie基础学习

目录 Cookie 什么是Cookie Cookie分类 Cookie版本 Cookie工作原理 Cookie详解 创建cookie cookie编码 cookie过期时间选项 Cookie流程 Cookie使用 会话管理 个性化信息 记录用户的行为 Cookie属性 domain选项 path选项 secure选项 cookie…

【日常积累】RPM包依赖下载及私有yum仓库搭建

概述 某些时候&#xff0c;我们需要下载某个RPM包依赖的依赖。如某些内网环境&#xff0c;就需要自行准备rpm包。可以通过能上互联网的服务器进行相应的rpm包下载&#xff0c;然后在拷贝到相应的服务器安装&#xff0c;或者搭建自己的内容rpm包仓库。 查看*.rpm 包依赖&#…

修改el-tooltip组件的背景色

修改el-tooltip组件的背景色 // 提示气泡的背景色 .el-tooltip__popper{background-color: pink !important; } .popper__arrow {border-top-color: pink !important; } .popper__arrow:after {border-top-color: pink !important; }

基于通达信量化接口会实现自动交易吗?(股票自动下单接口)

通常情况下&#xff0c;在开发股票交易接口时&#xff0c;会包含多个接口功能的研发&#xff0c;因此通达信量化接口可以实现自动化交易。即通过通达信的API接口&#xff08;股票自动下单接口&#xff09;&#xff0c;可以实现与交易所的连接和交互&#xff0c;包括下单、撤单、…

Vue3 引用第三方Swiper内容触摸滑动简单应用

去官网查看更多教程→&#xff1a;Swiper官网 → 点击教程在vue中使用Swiper→ 在Vue中使用Swiper cd 到项目 安装Swiper&#xff1a; cnpm install --save swiper 安装指定版本 cnpm install --save swiper8.1.6 9.4.1 10.1.0…

【CI/CD】Rancher K8s

Rancher & K8s Rancher 和 K8s 的关系是什么&#xff1f;K8s 全称为 Kubernetes&#xff0c;它是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用。而 Rancher 是一个完全开源的企业级多集群 Kubernetes 管理平台&#xff0c;实现了 Kubernetes 集群在混合…

OpenCV图像处理——边缘检测

目录 原理Sobel检测算子方法应用 Laplacian算子Canny边缘检测原理 原理 Sobel检测算子 方法 应用 sobel_x_or_ycv.Sobel(src,ddepth,dx,dy,dst,ksize,scale,delta,borderType)import numpy as np import cv2 as cv import matplotlib.pyplot as pltimgcv.imread(./汪学长的随堂…

Python学习 -- 常用函数与实例详解

在Python编程中&#xff0c;数据转换是一项关键任务&#xff0c;它允许我们在不同数据类型之间自由流动&#xff0c;从而提高代码的灵活性和效率。本篇博客将深入探讨常用的数据转换函数&#xff0c;并通过实际案例为你展示如何巧妙地在不同数据类型之间转换。 数据类型转换函…

红日ATT&CK VulnStack靶场(三)

网络拓扑 web阶段 1.扫描DMZ机器端口 2.进行ssh和3306爆破无果后访问web服务 3.已知目标是Joomla&#xff0c;扫描目录 4.有用的目录分别为1.php 5.configuration.php~中泄露了数据库密码 6.administrator为后台登录地址 7.直接连接mysql 8.找到管理员表&#xff0c;密码加密了…

日常BUG—— SpringBoot项目DEBUG模式启动慢、卡死。

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 我们调试程序时&#xff0c;需要使用DEBUG模式启动SpringBoot项目&#xff0c; 有时候会发…

【C++入门到精通】C++入门 —— list (STL)

阅读导航 前言一、list简介1.概念2.特点 二、list的使用1.list的构造2.常见的操作⭕std::list类型的增、删、查、改 三、list与vector的对比温馨提示 前言 文章绑定了VS平台下std::list的源码&#xff0c;大家可以下载了解一下&#x1f60d; 前面我们讲了C语言的基础知识&…

如何做好一名网络工程师?具体实践?

预防问题 – 资格与认证 在安装线缆或升级网络时测试线缆是预防问题的有效方式。对已安装布线进行测试的方法有两种。 资格测试确定布线是否有资格执行某些操作 — 换言之&#xff0c;支持特定网络速度或应用。尽管“通过”认证测试也表明按标准支持某一网络速度或应用的能力…

国企的大数据岗位方向的分析

现如今大数据已无所不在&#xff0c;并且正被越来越广泛的被应用到历史、政治、科学、经济、商业甚至渗透到我们生活的方方面面中&#xff0c;获取的渠道也越来越便利。 今天我们就来聊一聊“大屏应用”&#xff0c;说到大屏就一定要聊到数据可视化&#xff0c;现如今&#xf…

vue自定义穿梭框支持远程滚动加载

分享-2023年资深前端进阶&#xff1a;前端登顶之巅-最全面的前端知识点梳理总结&#xff0c;前端之巅 *分享一个使用比较久的&#x1fa9c; 技术框架公司的选型(老项目)&#xff1a;vue2 iview-ui 方案的实现思路是共性的&#xff0c;展现UI样式需要你们自定义进行更改&#…