怎样给边框添加阴影?CSS3属性box-shadow帮你搞定!

article/2025/9/17 9:00:31

作者:WangMin
格言:努力做好自己喜欢的每一件事
CSDN原创文章
博客地址 👉 WangMin

关于box-shadow属性,有的小伙伴可能用的时候直接复制已有的,并没有仔细了解过box-shadow属性的参数分别是什么含义,最后导致阴影的样式不能按照自己的需求自由控制,让自己很苦恼。接下就一起来好好学习这个属性吧!!

box-shadow属性的参数

此属性的基本语法:{ box-shadow:[inset] x-offset y-offset blur-radius spread-radius color }。

1、inset [ 阴影类型 ]

这个参数是一个可选参数。如不声明,默认阴影类型是外阴影;如果取它的唯一值 “inset” ,则阴影类型为内阴影。它可以作为第一个参数出现,也可以作为最后一个参数出现。默认情况下代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.75);-webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.75);-moz-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
当设置了阴影类型为 “inset” 时,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:inset 0px 0px 15px 0px rgba(0,0,0,0.75);-webkit-box-shadow:inset 0px 0px 15px 0px rgba(0,0,0,0.75);-moz-box-shadow:inset 0px 0px 15px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
2、x-offset [ 阴影水平偏移量 ]

这个参数的取值分为两种情况:可以是正值,也可以是负值。

为正值的情况下,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:5px 0px 5px 0px rgba(0,0,0,0.75);-webkit-box-shadow:5px 0px 5px 0px rgba(0,0,0,0.75);-moz-box-shadow:5px 0px 5px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:x-offset的取值如果为正值时,则阴影在元素的右边。

为负值的情况下,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:-5px 0px 5px 0px rgba(0,0,0,0.75);-webkit-box-shadow:-5px 0px 5px 0px rgba(0,0,0,0.75);-moz-box-shadow:-5px 0px 5px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:x-offset的取值如果为负值时,阴影在元素的左边。

3、y-offset [ 阴影垂直偏移量 ]

这个参数的取值与x-offset的取值是一样的。分为两种情况:可以是正值,也可以是负值。

为正值的情况下,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:0px 5px 5px 0px rgba(0,0,0,0.75);-webkit-box-shadow:0px 5px 5px 0px rgba(0,0,0,0.75);-moz-box-shadow:0px 5px 5px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:y-offset的取值如果为正值时,则阴影在元素的底部。

为负值的情况下,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:0px -5px 5px 0px rgba(0,0,0,0.75);-webkit-box-shadow:0px -5px 5px 0px rgba(0,0,0,0.75);-moz-box-shadow:0px -5px 5px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:y-offset的取值如果为负值时,则阴影在元素的顶部。

4、blur-radius [ 阴影模糊半径 ]

这个参数是一个可选参数,代表阴影的模糊半径,取值分为两种情况:0 或者正值。此外该值不支持负数。

值为0的情况下,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:5px 5px 0px 0px rgba(0,0,0,0.75);-webkit-box-shadow:5px 5px 0px 0px rgba(0,0,0,0.75);-moz-box-shadow:5px 5px 0px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:blur-radius的取值如果为0时,则阴影不具有任何模糊效果。

值为其他正数的情况下,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:5px 5px 5px 0px rgba(0,0,0,0.75);-webkit-box-shadow:5px 5px 5px 0px rgba(0,0,0,0.75);-moz-box-shadow:5px 5px 5px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:blur-radius的取值如果为正数时,则阴影具有模糊效果。并且这个值越大,阴影的边缘就越模糊。

5、spread-radius [ 阴影扩展半径 ]

这个参数是一个可选参数,代表着阴影的尺寸。这个值可以被看作是从元素到阴影的距离。如果正值会在元素的四个方向延伸阴影;负值会使阴影变得比元素本身尺寸还要小,甚至被元素遮住。

当为默认值“0”的时候,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:0px 0px 5px 0px rgba(0,0,0,0.75);-webkit-box-shadow:0px 0px 5px 0px rgba(0,0,0,0.75);-moz-box-shadow:0px 0px 5px 0px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:spread-radius的取值为0时,则会让阴影变得和元素的大小一同等大小。

当为任意正值的时候,代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:0px 0px 5px 5px rgba(0,0,0,0.75);-webkit-box-shadow:0px 0px 5px 5px rgba(0,0,0,0.75);-moz-box-shadow:0px 0px 5px 5px rgba(0,0,0,0.75);
}

网页显示效果如下:

在这里插入图片描述
从上述例子中可以得到一个结论:spread-radius的取值为任意正值时,则会在元素的四个方向延伸对应大小的阴影

6、color [ 阴影颜色 ]

这个值是指定阴影的颜色,是一个可选参数。如不设定颜色,浏览器会取默认色,但各浏览器默认取色不一致。代码如下:

<div class="box color1"></div>
<div class="box color2"></div>
.box{width:100px;height:100px;background:#69f;margin:20px 0 0 20px;
}
.color1{box-shadow:5px 5px 5px 0px rgba(0,0,0,0.75);-webkit-box-shadow:5px 5px 5px 0px rgba(0,0,0,0.75);-moz-box-shadow:5px 5px 5px 0px rgba(0,0,0,0.75);
}
.color2{box-shadow:5px 5px 5px 0px #f00;-webkit-box-shadow:5px 5px 5px 0px #f00;-moz-box-shadow:5px 5px 5px 0px #f00;
}

网页显示效果如下:

在这里插入图片描述

使用box-shadow属性设置各种阴影效果

1、给一个元素四边设置阴影

如果需要给一个元素四边设置阴影时,需要将x-offset和y-offset的偏移量设置为0,只需要设置阴影模糊半径和阴影颜色,阴影扩展半径按照自己需求设置。代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;box-shadow:0px 0px 5px #f00;-webkit-box-shadow:0px 0px 5px #f00;-moz-box-shadow:0px 0px 5px #f00;
}

网页显示效果如下:

在这里插入图片描述

2、给一个元素四边设置不同颜色的阴影

如果需要给一个元素四边设置不同颜色的阴影时,阴影之间用逗号分隔。给对象四边设置不同的阴影效果,通过改变x-offset和y-offset的正负值来实现,左边阴影 将x-offset设置为负值;右边阴影 将x-offset设置为正值;底部阴影 将y-offset设置为正值;顶部阴影 将y-offset设置为负值。案例如下:

<div class="box"></div>
.box{
width:100px;
height:100px;
background:#69f;
box-shadow:-5px 0px 5px #f00,5px 0px 5px blue,0px -5px 5px yellow,0px 5px 5px #000;
-webkit-box-shadow:-5px 0px 5px #f00,5px 0px 5px blue,0px -5px 5px yellow,0px 5px 5px #000;
-moz-box-shadow:-5px 0px 5px #f00,5px 0px 5px blue,0px -5px 5px yellow,0px 5px 5px #000;
}

网页显示效果如下:

在这里插入图片描述
3、给元素设置多重阴影

当给同一个元素使用多个阴影属性时,需要注意它的顺序,阴影将按照设置的顺序从里往外显示;还需要注意的一点是必须设置阴影扩展半径,并且按照设置的顺序,阴影扩展半径的值要依次递增。代码如下:

<div class="box"></div>
.box{width:100px;height:100px;background:#69f;margin:20px 0 0 20px;box-shadow: 0px 0px 3px 3px pink,0px 0px 3px 6px yellow,0px 0px 3px 9px orange;-webkit-box-shadow: 0px 0px 3px 3px pink,0px 0px 3px 6px yellow,0px 0px 3px 9px orange;-moz-box-shadow: 0px 0px 3px 3px pink,0px 0px 3px 6px yellow,0px 0px 3px 9px orange;}

网页显示效果如下:

在这里插入图片描述
4、其他特殊效果:立体投影

立体投影的关键点在于使用伪元素::before和::after生成大小与父元素相近的元素,然后对其进行 rotate 以及定位到合适位置,再给为元素设置阴影。

立体效果1,代码如下:

<div class="box"></div>
.box {position: relative;width: 350px;height: 150px;background: pink;
}
.box::before,.box::after{content: "";width: 300px;height: 75px;position: absolute;top:60px;z-index:-1;background: palevioletred;box-shadow: 0 0 10px 10px palevioletred;-webkit-box-shadow: 0 0 10px 10px palevioletred;-moz-box-shadow: 0 0 10px 10px palevioletred;
}.box::before {left: 18px;transform: rotate(-6deg);-webkit-transform: rotate(-6deg);-moz-transform: rotate(-6deg);
}
.box::after {right: 18px;transform: rotate(6deg);-webkit-transform: rotate(6deg);-moz-transform: rotate(6deg);
}

网页显示效果如下:

在这里插入图片描述
立体效果2,代码如下:

<div class="box"></div>
.box {position: relative;width: 350px;height: 150px;background: pink;
}
.box::before,.box::after{content: "";width: 150px;height: 100px;position: absolute;top:26px;z-index: -1;background: palevioletred;box-shadow: 0 0 10px 10px palevioletred;-webkit-box-shadow: 0 0 10px 10px palevioletred;-moz-box-shadow: 0 0 10px 10px palevioletred;
}.box::before {left: 0px;-webkit-transform: rotate(-8deg);-moz-transform: rotate(-8deg);transform: rotate(-8deg);
}
.box::after {right: 0px;-webkit-transform: rotate(8deg);-moz-transform: rotate(8deg);transform: rotate(8deg);
}

网页显示效果如下:

在这里插入图片描述
立体效果3,代码如下:

<div class="box"></div>
.box {position: relative;width: 350px;height: 150px;margin:25px;background: pink;
}
.box::before,.box::after{content: "";width: 300px;height: 100px;position: absolute;top:26px;left:15px;z-index: -1;background: palevioletred;
}
.box::before {-webkit-transform: rotate(-8deg);-moz-transform: rotate(-8deg);transform: rotate(-8deg);box-shadow: 10px -10px 10px 10px palevioletred;-webkit-box-shadow:10px -10px 10px 10px palevioletred;-moz-box-shadow: 10px -10px 10px 10px palevioletred;
}
.box::after {-webkit-transform: rotate(8deg);-moz-transform: rotate(8deg);transform: rotate(8deg);box-shadow: 10px 10px 10px 10px palevioletred;-webkit-box-shadow:10px 10px 10px 10px palevioletred;-moz-box-shadow: 10px 10px 10px 10px palevioletred;
}

网页显示效果如下:
在这里插入图片描述

box-shadow属性的兼容性

为了兼容各主流浏览器并支持它们的较低版本,在基于Webkit的Chrome和Safari等浏览器上使用box-shadow属性时,需要在属性的名称前加上-webkit-,写成-webkit-box-shadow的形式。Firefox浏览器则需要在属性的名称前加上-moz-,写成-moz-box-shadow的形式。上面的案例中,我将box-shadow的两种兼容格式都写上了,所以在使用中不要忘记加上。以下是box-shadow在各个浏览器的兼容性。

在这里插入图片描述


以上仅是个人见解,若有不足之处欢迎在下方评论指出,那就先分享到这里!! 😄 后续继续更新!!


http://chatgpt.dhexx.cn/article/5nA5MfVd.shtml

相关文章

边框、边距、阴影

边框、边距、阴影 1.边框&#xff08;1&#xff09;边框属性&#xff1a;&#xff08;2&#xff09;设置不同方向的边框&#xff1a;&#xff08;3&#xff09;圆角边框&#xff1a;border-radius&#xff1a; 2.边距&#xff08;1&#xff09;内边距&#xff1a;padding&#…

给三角形添加边框阴影

需求&#xff1a;利用div边框形成了一个三角形&#xff0c;然后给这个三角形添加边框阴影 解决方法&#xff1a;利用filter这个css3属性&#xff0c;配合属op-shadow实现效果 首先弄一个普通的三角形出来&#xff1a; 可以发现&#xff1a;通过设置div边框得到的三角形&#x…

box-shadow上下左右四个边框设置阴影样式

box-shadow上下左右四个边框设置阴影样式 语法值 / 说明四个不同样式加点阴影实现效果比如这样的: 语法 box-shadow: h-shadow v-shadow blur spread color inset;注意&#xff1a;boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表&#xff0…

CSS 边框 阴影 效果

CSS 边框 阴影 效果 下面将css实现阴影效果&#xff0c;以便需要朋友们&#xff0c;直接上代码 #shadow1{ width: 200px; height: 100px; color: white; background-color: red; box-shadow: 5px -5px 1px 1px #000; -webkit-box-shadow:5px -5px 1px 1px #000; -moz-box-sha…

box-shadow四个边框设置阴影样式

其实对于box-shadow&#xff0c;老白我也是一知半解&#xff0c;之前用的时候直接复制已有的&#xff0c;也没有仔细思考过box-shadow的数值分别对应什么&#xff0c;最后导致阴影的边如何自由控制&#xff0c;苦于懒人一个一直没有正式去学习&#xff0c;今天无意中看到以下这…

html边框阴影咋设置,css阴影边框怎么设置

css阴影边框的设置方法&#xff1a;首先新建一个html文件&#xff1b;然后在这个html文件上创建两个【 】用来设置阴影边框&#xff1b;最后这两个div添加样式类为in、out。 本教程操作环境&#xff1a;windows10系统、css3版&#xff0c;DELL G3电脑&#xff0c;该方法适用于所…

如何给边框添加阴影效果

css的box-shadow是用来添加边框阴影效果的。 属性值详解&#xff1a; 1、inset 可选值&#xff0c;默认阴影在盒子外 使用inset后&#xff0c;阴影在盒子内&#xff0c;即使指定边框或者透明边框&#xff0c;阴影依然存在。 2、<offset-x> <offset-y> 这是头两个&l…

css添加边框阴影

css边框阴影如何设置&#xff1f; 语法&#xff1a; <style> box-shadow: h-shadow v-shadow blur spread color inset; </style> 取值&#xff1a; h-shadow&#xff1a;必需设置的值&#xff0c;定义水平阴影的位置。允许负值。 v-shadow&#xff1a;必需设置…

css边框设置阴影样式

css边框设置阴影样式 box-shadow上下左右四个边框设置阴影样式 语法值/说明四个不同样式实现效果 语法 box-shadow: h-shadow v-shadow blur spread color inset;注意&#xff1a;boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表&#xf…

css添加边框阴影上、下、左、右详解

Css边框阴影&#xff1a;box-shadow属性 对于这个属性&#xff0c;总是记了又忘&#xff0c;忘记了又看百度&#xff0c;今天总结一下&#xff1b; 语法&#xff1a; box-shadow: h-shadow v-shadow blur spread color inset;注意&#xff1a;boxShadow 属性把一个或多个下拉…

【IMX6ULL驱动开发学习】02.IMX6ULL烧写Linux系统

由于我买的是正点原子的IMX6ULL阿尔法开发板&#xff0c;但是我是看韦东山老师视频学习的驱动 所以这里我烧录的方法是按照韦东山老师的课程来的 这里给出烧写Linux系统用到的工具 链接&#xff1a;https://pan.baidu.com/s/1bD-xxn3K8xQAVkJSaJmTzQ 提取码&#xff1a;af6w …

iMX6ULL启动流程

iMX6ULL启动流程 1. Boot ROM2. IVT和DCD3. 启动流程4. 总结 我移植的板子是讯为的TERMINATOR_V1.1开发板&#xff0c;参考板为官方 i.MX6ULL EVK开发板。 iMX6ULL uboot2021.04 linux5.15.32移植iMX6ULL启动流程iMX6ULL u-boot2021.04移植iMX6ULL linux5.15.32移植iMX6ULL bui…

IMX6ULL_Pro网卡配置

(15条消息) 【IMX6ULL_Pro板卡学习】配置 VMware 使用双网卡_vmware配置双网卡_爱学习的小莲的博客-CSDN博客https://blog.csdn.net/qq_52201194/article/details/127474352?ops_request_misc%257B%2522request%255Fid%2522%253A%2522168223524716800182730924%2522%252C%2522…

imx6 adb移植

参考https://blog.csdn.net/kunkliu/article/details/122746762 一、buildroot配置 1.udev必须选上 System configuration下 2.打开adb进程支持 3.添加配置脚本 &#xff08;1&#xff09;etc/init.d下创建文本文件 S91usb&#xff0c;内容如下&#xff08;注释掉了csdn中的两…

imx6设备树pinctrl解析

最近在移植linux&#xff0c;用到kernel版本为3.14.28&#xff0c;在高版本的内核源码中用到了设备树&#xff08;device-tree&#xff09;&#xff0c;设备树中用到pinctrl的配置&#xff0c;记录一下。 1、普通设置 在配置串口时&#xff0c;pinctrl的配置信息如下所示&#…

IMX6UL核心板

CPU:IMX6UL DDR:256M EMMC:4G NANDFLASH:1G 分立DCDC 需定制请联系QQ402979209 广州瀚忆科技有限公司 http://www.gzhysmart.com/

imx6 LCD 参数配置(lvds为例)

目前imx6的BSP开发中&#xff0c;lvds的参数配置一般在两个地方&#xff1a; 1. uboot的CMDLINE的参数设置&#xff0c;形如&#xff1a; videomxcfb0:devldb,bpp32 2. uboot板级代码中对struct display_info_t的配置&#xff0c;形如&#xff1a; static struct display_i…

IMX6U主频详解和配置

IMX6U默认396Mhz主频 可以达到528Mhz 一、时钟来源及组成 1、时钟的来源都是晶振 32.768khz的晶振 给RTC使用 24MHz的晶振给系统来使用 接在T16和T17这两个IO上 2、芯片时钟构成 七路PLL 全都由24Mhz晶振产生 使用这些的原因是为了方便外设使用 倍频产生 ①ARM PLL供给AR…

iMX6平台MAX9288调试

因为有之前Ti ds90ub964的调试经验&#xff0c;这次调9288只是当做一个常规的驱动调试&#xff0c;坑大也得到了宝贵的经验 9288&#xff08;GMSL--->MIPI CSI2&#xff09;解码器解码9291和9277编码器过来的gmsl信号 iMX6DQ的mipi csi接口寄存器控制的特性&#xff1a; …

【imx6ul】从头搭建imx6ul开发环境(uboot、内核编译及烧入、mfgtools详细使用方法)

实现一个自制的Bootloader见: 01-基于imx6ul从0自制Bootloader专栏实现总结_【星星之火】的博客-CSDN博客 硬件平台&#xff1a;自制imx6ul&#xff08;详见【ALLEGRO】从零制作imx6-PCB核心板全流程_【星星之火】的博客-CSDN博客&#xff09;系统&#xff1a;linux-4.1.15文件…