css - CSS不规则形状,结合阴影
问题描述
我想组合两个形状和它们的阴影,以创建如下所示的 UI。
在我的尝试中,第一个元素的阴影会与第二个元素重叠。
有什么想法可以跨浏览器完成这项工作吗?
HTML
<div class="mainShape">
<div class="subShape">
</div>
</div>
CSS
.mainShape {
position: relative;
box-shadow: 6px 0 21px -3px rgba(86,93,111,0.12);
background: white;
width: 200px;
height: 600px;
}
.subShape {
position: absolute;
top: 0px;
right: -60px;
width: 60px;
height: 180px;
box-shadow: 6px 0 21px -3px rgba(86,93,111,0.12);
}
解决方案
可能有一种更优雅的方法可以做到这一点,例如 Sumurai 建议使用 svg,但实现这一点的一种相当老套的方法可能是在其他两个 div 之间粘贴一个“屏蔽”div(具有白色背景):
.mainShape {
position: relative;
box-shadow: 6px 0 21px -3px rgba(86,93,111,0.12);
background: white;
width: 200px;
height: 600px;
}
.subShape {
position: absolute;
top: 0px;
right: -60px;
width: 60px;
height: 180px;
box-shadow: 6px 0 21px -3px rgba(86,93,111,0.12);
}
.mask {
position: absolute;
top:0px;
right:-20px;
width:25px;
height:180px;
background-color:white;
}
<div class="mainShape">
<div class="subShape">
</div>
<div class="mask">
</div>
</div>
推荐阅读
- javascript - 上下文 API 没有返回被点击元素的 id
- r - R Shiny:在tabPanels之间切换会导致错误
- android - 致命异常:NoSuchMethodError:没有虚拟方法插入(IIII)Landroid/view/WindowInsets
- javascript - 以不同颜色读取和显示滑块值的功能
- java - Toast.setGravity() 在我的 AVD Nexus 6 API 30 中不起作用
- google-cloud-platform - 服务帐号的 GCP 项目配额问题
- opendaylight - 为什么 Netconf hello 消息和 Opendaylight 中收到的 yang 模型功能存在差异?
- java - 如何从同一个父级继承 2 个 db 模型类并使其在休眠状态下工作?
- imagemagick - ImageMagick,增加 png 图像周围的透明区域
- docker - 多阶段构建中的 Docker-Compose Args(变量扩展)