gpt4 book ai didi

html - 无法删除重叠的框阴影

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:53 25 4
gpt4 key购买 nike

更具体地说,我使用的是 polymer 纸影。

我试图移除 paper-shadow 框的两侧以创建一个简单的箭头框,但我似乎无法摆脱它。我试过删除 position: absolute,但这似乎并没有消除重叠行为。

overlap not working

这是我的 html/css 的样子:

HTML:

  <div class="content-container">
<paper-shadow z="1">
<div class="content">
<h1>{{heading}}</h1>
<content></content>
</div>
<paper-shadow class="triangle" z="1"> </paper-shadow>
</paper-shadow>
</div>

CSS:

.content-container
flex: 3 0 45%
order: 1
position: relative

.content, .triangle
background-color: #fafafa

.content
padding: 20px

.triangle
position: absolute
height: 20px
width: 20px
top: 50%
left: 100%
transform: translate(-50%, -50%) rotate(-45deg)

box-shadow 来自paper-shadow: https://www.polymer-project.org/docs/elements/paper-elements.html#paper-shadow

最佳答案

您尝试做的事情无法使用 CSS 完成,或者至少无法以您认为可以完成的方式完成。如果您有两个具有框阴影重叠的元素,那么其中一个元素需要位于另一个元素之上(z-index),并且您无法从比方说 - 元素的一半中删除部分重叠。

但是,有一种“hacky”方法可以做到这一点,即按原样渲染框阴影,然后用一个简单的矩形覆盖它以覆盖重叠的阴影。伪类最好做到这一点,但只有当您使用的背景颜色对于两个元素都相同时才有效,而且您需要在元素中使用足够的填充,这样这个人造矩形就不会与您的内容重叠。

jsFiddle

示例 HTML:

<div class="box">
<div class="triangle"></div>
</div>

和 CSS:

.box {
background:white;
width:200px;
height:100px;
box-shadow:0px 0px 15px rgba(0, 0, 0, 0.4);
position:relative;
padding:25px;
}
.triangle {
position: absolute;
height: 20px;
width: 20px;
top: 50%;
left: 100%;
transform: translate(-50%, -50%) rotate(-45deg);
background: white;
box-shadow:0px 0px 15px rgba(0, 0, 0, 0.4);
}
.box:after {
position:absolute;
content:'';
background: white;
height:40px;
width:25px;
right:0;
top:50%;
margin-top:-20px;
}

关于html - 无法删除重叠的框阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27674620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com