要实现一个 div 元素的单边内阴影和三边外阴影,可以使用 CSS 的 box-shadow 属性。box-shadow 允许你为元素添加多个阴影效果,每个阴影可以有不同的偏移、模糊半径、扩展半径和颜色。
单边内阴影:通过设置 inset 关键字来实现内阴影,并通过调整 x-offset 和 y-offset 来控制阴影的位置。
三边外阴影:通过设置多个 box-shadow 值来实现外阴影,分别控制上、左、右三边的阴影效果。
div {
width: 200px;
height: 100px;
background-color: #f0f0f0;
position: relative;
margin: 50px auto;
padding: 20px;
box-shadow:
/* 单边内阴影(底部) */
inset 0 -10px 10px -10px rgba(0, 0, 0, 0.5),
/* 三边外阴影(上、左、右) */
0 -10px 10px -5px rgba(0, 0, 0, 0.5),
-10px 0 10px -5px rgba(0, 0, 0, 0.5),
10px 0 10px -5px rgba(0, 0, 0, 0.5);
}
单边内阴影(底部):
inset:表示内阴影。0 -10px:阴影的偏移量,0 表示水平方向不偏移,-10px 表示垂直方向向上偏移 10px。10px:模糊半径,控制阴影的模糊程度。-10px:扩展半径,负值表示阴影向内收缩。rgba(0, 0, 0, 0.5):阴影颜色和透明度。三边外阴影(上、左、右):
0 -10px 10px -5px rgba(0, 0, 0, 0.5),表示上边的外阴影。-10px 0 10px -5px rgba(0, 0, 0, 0.5),表示左边的外阴影。10px 0 10px -5px rgba(0, 0, 0, 0.5),表示右边的外阴影。div 元素的底部会有内阴影效果。div 元素的上、左、右三边会有外阴影效果。box-shadow 值。通过这种方式,你可以灵活地控制 div 元素的阴影效果,实现复杂的视觉效果。