首页 > 解决方案 > 使用 CSS 制作 3D 画框效果

问题描述

我正在尝试使用 CSS 在图像上的绘画上复制画布框架效果。我可以做阴影和圆角,但我不知道如何做“圆角/环绕边”的 3D 效果。

当我试图复制右图的效果时,我的实际是左图。请忽略预期图像的背景。

有什么帮助吗?谢谢。

.image{
  display:flex;
  justify-content:space-evenly;
}
#actual {
  border-radius: 4px;
  box-shadow: 20px 4px 10px rgba(0,0,0,0.35), 40px 8px 10px rgba(0,0,0,0.15);
}
<div class="image">
  <img id="actual" src="http://lorempixel.com/output/cats-q-c-640-480-10.jpg">  
  <img id="expected" src="https://i.imgur.com/XD8Vdvv.jpg">  
</div>

标签: css

解决方案


inset您可以使用阴影来近似它:

.image{
  display:inline-block;
  border-radius: 4px;
  box-shadow: 
    -2px -2px 1px rgba(0,0,0,0.5) inset,
    20px 4px 10px rgba(0,0,0,0.35), 
    40px 8px 10px rgba(0,0,0,0.15);
 width:320px;
 height:240px;
 
 margin:10px;
 background:url(http://lorempixel.com/output/cats-q-c-640-480-10.jpg) center/cover;
}
<div class="image">
</div>


推荐阅读