gpt4 book ai didi

css - 两个元素共享半透明(没有重叠)?

转载 作者:行者123 更新时间:2023-11-28 17:07:54 26 4
gpt4 key购买 nike

我很确定这是不可能的。但是那里有很多聪明人,所以这里...

我正在使用两个重叠的元素创建一个 UI 形状。本质上是一个带有圆形突起的大正方形。

我希望这两个元素显示为一个对象(通过给它们相同的背景颜色并重叠它们很容易做到)但我也希望这个元素看起来像它有一个单一的阴影.

要注意的是,投影是半透明的,在两个元素重叠的地方,由于两个阴影元素的结合,您会得到一个较暗的点。

示例:

http://jsbin.com/maboputexa/1/

enter image description here

因为这是两个 HTML 元素,我很确定没有办法解决这个问题,这就是事实。现在,我将尝试不使用半透明物体并为阴影使用纯色。但是,如果有人知道在 CSS3 中使用所有新选项进行这项工作的任何技巧,请告诉我!

(请注意,我指的不是 box-shadow 属性,因为它不适用于两个对象,因为总是必须有一个对象在另一个对象之上)。

最佳答案

与其说是真正的用途,不如说是为了好玩:

2 个 div,阴影不重叠,透明度不重叠

注意避免阴影重叠的技术:div 上的 z-index auto,以及在 z-index 为负值的伪元素上设置阴影。

避免透明度重叠的技术有点令人不安,因为它不仅需要混合混合模式,还需要将 div 放在图像后面......

但是,正如我所说,这是一个有趣的结果......

应该在 Chrome、FF 和 Safari 中工作(这个未经测试)

body {
background-color: gray;
font-size: 30px;
}

.test1 {
width: 300px;
height: 200px;
position: absolute;
left: 150px;
top: 150px;
background-color: #555;
z-index: auto;
}

.test2 {
width: 300px;
height: 200px;
position: absolute;
left: 10px;
top: 0px;
border-radius: 50%;
background-color: #555;
z-index: auto;
-webkit-animation: move 5s infinite;
animation: move 5s infinite;
}

@-webkit-keyframes move {
0% {left: 0px; top: 0px;}
33% {left: 300px; top: 20px;}
66% {left: 300px; top: 220px;}
100% {left: 0px; top: 0px;}
}
@keyframes move {
0% {left: 0px; top: 0px;}
33% {left: 300px; top: 20px;}
66% {left: 300px; top: 220px;}
100% {left: 0px; top: 0px;}
}


.test1:after , .test2:after {
content: "";
position: absolute;
left: 0px;
toop: 0px;
width: 100%;
height: 100%;
box-shadow: 4px 4px 8px 2px black;
border-radius: inherit;
z-index: -1;
}


.overlay {
width: 600px;
height: 600px;
background-image: url(http://placekitten.com/1000/750);
background-size: cover;
position: absolute;
z-index: 4;
mix-blend-mode: overlay;
pointer-events: none;
}
<div class="test1">test1</div>
<div class="test2">test2</div>
<div class="overlay"></div>

关于css - 两个元素共享半透明(没有重叠)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29901146/

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