tailwindcss学习笔记之box-shadow

所属分类:HtmlCssJs | 浏览:50 | 发布于 2025-11-28

box-shadow用于给盒子添加阴影。

1、box-shadow基础

1.1、语法

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

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

说明
h-shadow required,水平阴影的位置,允许负值
v-shadow required,垂直阴影的位置,允许负值
blur optional,模糊距离
spread optional,阴影的大小
color optional,阴影的颜色
inset optional,从外层的阴影改变阴影内侧阴影

1.2、示例

1.2.1、示例1:

box-shadow: 10px 10px;

1.2.2、示例2(增加阴影的颜色):

box-shadow: 10px 10px red;

1.2.3、示例3(增加模糊距离):

box-shadow: 10px 10px 20px red;

1.2.4、示例4(增加阴影的大小):

box-shadow: 10px 10px 20px 5px red;

1.2.5、示例5(在示例4基础上再增大阴影大小):

box-shadow: 10px 10px 20px 25px red;

1.2.6、示例6(内嵌阴影):

box-shadow: 10px 10px 20px 5px red inset;

1.2.7、示例7(外阴影正负值):

1.2.8、示例8(内阴影正负值):

1.3、阶段小结

主要是要区分内阴影和外阴影,感觉实践中很少用到内阴影吧,默认的外阴影是从右下角开始,内阴影是从左上角开始,从7和8的例子中可以看到,外阴影和内阴影的分布刚好是对角。

1.4、多个阴影叠加

1.4.1、示例1:

box-shadow: 10px 10px red, 20px 20px greenyellow;

1.4.2、示例2:

box-shadow: 10px 10px red, 
            -10px 10px greenyellow, 
            10px -10px cornflowerblue, 
            -10px -10px darkolivegreen;

2、tailwindcss之box-shadow

2.1、基本示例1:

使用像 `shadow-md` 和 `shadow-lg`  这样的原子类给元素设置外阴影

<div class="shadow-md ..."></div>
<div class="shadow-lg ..."></div>
<div class="shadow-xl ..."></div>

 

2.2、Changing the opactiy 改变透明度

使用透明度modifier 来调整阴影的透明度

<div class="shadow-xl ..."></div>
<div class="shadow-xl/20 ..."></div>
<div class="shadow-xl/30 ..."></div>

2.3、Setting the shadow color 设置阴影颜色

使用像 `shadow-indigo-500` 和 `shadow-cyan-500/50` 这样的原子类来设置阴影的颜色

<button class="bg-cyan-500 shadow-lg shadow-cyan-500/50 ...">Subscribe</button>
<button class="bg-blue-500 shadow-lg shadow-blue-500/50 ...">Subscribe</button>
<button class="bg-indigo-500 shadow-lg shadow-indigo-500/50 ...">Subscribe</button>

2.4、Adding an inset shadow 增加内阴影

使用像 `` 和 `` 这样的原子类来设置元素的内阴影

<div class="inset-shadow-2xs ..."></div>
<div class="inset-shadow-xs ..."></div>
<div class="inset-shadow-sm ..."></div>

2.5、Setting the inset shadow color 设置内阴影颜色

使用诸如 `inset-shadow-indigo-500` 和 `inset-shadow-cyan-500/50` 之类的原子类来设置元素的内阴影

<div class="inset-shadow-sm inset-shadow-indigo-500 ..."></div>
<div class="inset-shadow-sm inset-shadow-indigo-500/50 ..."></div>

2.6、Adding a ring 添加实心边框

<button class="ring ...">Subscribe</button>
<button class="ring-2 ...">Subscribe</button>
<button class="ring-4 ...">Subscribe</button>

2.7、Setting the ring color 设置实现边框颜色

使用诸如 `ring-indigo-500` 和 `ring-cyan-500/50` 之类的原子类来改变边框的颜色

<button class="ring-2 ring-blue-500 ...">Subscribe</button>
<button class="ring-2 ring-blue-500/50 ...">Subscribe</button>

2.8、Adding an inset ring 增加内边框

使用诸如 `inset-ring` 和 `inset-ring-<number>` 之类的工具类 像 `inset-ring-2` 和 `inset-ring-4` 来设置实心边框内阴影

<button class="inset-ring ...">Subscribe</button>
<button class="inset-ring-2 ...">Subscribe</button>
<button class="inset-ring-4 ...">Subscribe</button>

2.9、Setting the inset ring color 设置内阴影实心框颜色

使用诸如 `inset-ring-indigo-500` 和 `inset-ring-cyan-500/50` 之类的原子类来设置元素内阴影实心框颜色

<button class="inset-ring-2 inset-ring-blue-500 ...">Subscribe</button>
<button class="inset-ring-2 inset-ring-blue-500/50 ...">Subscribe</button>

2.10、Removing a box shadow 去除元素阴影

使用 `shadow-none`,`inset-shadow-none`, `ring-0`, 和 `inset-ring-0` 原子类来去除元素已存在的阴影

<div class="shadow-none ..."></div>

2.11、Using a custom value 使用自定义值

使用诸如 `shadow-[<value>]` , `inset-shadow-[<value>]`, `ring-[<value>]`, 和 `inset-ring-[<value>]` 之类的原子类来给元素设置基于完整自定义值的阴影

<div class="shadow-[0_35px_35px_rgba(0,0,0,0.25)] ...">
  <!-- ... -->
</div>

d对于css变量,可以使用 `shadow-(<custom-property>)` 语法:

<div class="shadow-(--my-shadow) ...">
  <!-- ... -->
</div>

`shadow-(<custom-property>)`是 `shadow-[var(<custom-property>)]`的简写,自动添加 `var()` 方法。

3、tailwindcss box-shadow 原子类

3.1、四大类

Class 说明
shadow-size 设置外阴影大小
shadow-color 设置外阴影颜色
inset-shadow-size 设置内阴影大小
inset-shadow-color 设置内阴影颜色
ring-size 设置外实心框大小
ring-color 设置外实心框颜色
inset-ring-size 设置内实心框大小
inset-ring-color 设置内实心框颜色

3.2、设置大小类

Class Styles
shadow-2xs box-shadow: var(--shadow-2xs); /* 0 1px rgb(0 0 0 / 0.05) */
shadow-xs box-shadow: var(--shadow-xs); /* 0 1px 2px 0 rgb(0 0 0 / 0.05) */
shadow-sm box-shadow: var(--shadow-sm); /* 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) */
shadow-md box-shadow: var(--shadow-md); /* 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) */
shadow-lg box-shadow: var(--shadow-lg); /* 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) */
shadow-xl box-shadow: var(--shadow-xl); /* 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) */
shadow-2xl box-shadow: var(--shadow-2xl); /* 0 25px 50px -12px rgb(0 0 0 / 0.25) */
shadow-none box-shadow: 0 0 #0000;

3.3、自定义类

Class Styles
shadow-[<value>] box-shadow: <value>; 设置完整自定义值
shadow-(<custom-property>) box-shadow: var(<custom-property>);
shadow-transparent --tw-shadow-color: transparent;

 

 

 

海涛贝塔(https://haitaobeta.com)属于海涛个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接