如何使用CSS重现设备下的阴影
How to use CSS to reproduce the shadow under a device
是否可以使用CSS重现下图设备下的阴影?
以下 CSS 和不同的变体不起作用:
filter: drop-shadow(rgba(22, 22, 22, 0.25) 0px 12px 15px);
问题是将阴影集中在设备下方并将其弄平。上面的CSS不能让影子看起来像投射在地面上。
代码笔:https://codepen.io/Crashalot/pen/MWYzoJV
伪元素更适合完成此操作,请参见以下示例:
.object {
margin: 20px;
width: 70px;
height: 140px;
position: relative;
border-style: solid;
background: #E6E6FA;
}
.object:before {
content:"";
z-index: -1;
position: absolute;
bottom: -50%;
width: inherit;
height: inherit;
border-radius: 40%;
background: rgba(0,0,0,.55);
transform: scaleX(1.3) scaleY(0.12);
filter: blur(5px);
}
<div class="object"></div>
或者,您可以使用 box-shadow:
.object {
margin: 20px;
width: 70px;
height: 140px;
position: relative;
border-style: solid;
background: #E6E6FA;
/* This is .shadow-lg from tailwindCSS */
/* See https://tailwindcss.com/docs/box-shadow/ */
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
<div class="object"></div>
是否可以使用CSS重现下图设备下的阴影?
以下 CSS 和不同的变体不起作用:
filter: drop-shadow(rgba(22, 22, 22, 0.25) 0px 12px 15px);
问题是将阴影集中在设备下方并将其弄平。上面的CSS不能让影子看起来像投射在地面上。
代码笔:https://codepen.io/Crashalot/pen/MWYzoJV
伪元素更适合完成此操作,请参见以下示例:
.object {
margin: 20px;
width: 70px;
height: 140px;
position: relative;
border-style: solid;
background: #E6E6FA;
}
.object:before {
content:"";
z-index: -1;
position: absolute;
bottom: -50%;
width: inherit;
height: inherit;
border-radius: 40%;
background: rgba(0,0,0,.55);
transform: scaleX(1.3) scaleY(0.12);
filter: blur(5px);
}
<div class="object"></div>
或者,您可以使用 box-shadow:
.object {
margin: 20px;
width: 70px;
height: 140px;
position: relative;
border-style: solid;
background: #E6E6FA;
/* This is .shadow-lg from tailwindCSS */
/* See https://tailwindcss.com/docs/box-shadow/ */
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
<div class="object"></div>