原因:Hover仅在第一个Div上工作

发布于 2025-01-25 13:26:39 字数 1260 浏览 4 评论 0原文

我正在使用CSS中的VAR进行实验,发现一个错误(?)。悬停仅在第一div上工作。有人可以帮我解决这个问题吗?先感谢您

body {
  background-color: aqua;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1%;
}

.box {
  box-sizing: border-box;
  width: 100%;
  position: relative;
  transform-style: preserve-3d;
  transform: rotate(calc(var(--abc)* 10deg));
  background-color: rgba(150, 250, 0, calc(var(--abc)* 0.1));
  z-index: calc(var(--abc)*-1);
  flex-shrink: 1;
  aspect-ratio: 1;
}

.box:hover {
  background-color: rgba(150, 250, 0, 1);
}
<div class="box" style="--abc:0;"></div>
<div class="box" style="--abc:1;"></div>
<div class="box" style="--abc:2;"></div>
<div class="box" style="--abc:3;"></div>
<div class="box" style="--abc:4;"></div>
<div class="box" style="--abc:5;"></div>
<div class="box" style="--abc:6;"></div>
<div class="box" style="--abc:7;"></div>
<div class="box" style="--abc:8;"></div>
<div class="box" style="--abc:9;"></div>

i'm experimenting with var in css and i found a bug(?). Hover works only on first div. Could someone help me with this issue? Thank you in advance

body {
  background-color: aqua;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1%;
}

.box {
  box-sizing: border-box;
  width: 100%;
  position: relative;
  transform-style: preserve-3d;
  transform: rotate(calc(var(--abc)* 10deg));
  background-color: rgba(150, 250, 0, calc(var(--abc)* 0.1));
  z-index: calc(var(--abc)*-1);
  flex-shrink: 1;
  aspect-ratio: 1;
}

.box:hover {
  background-color: rgba(150, 250, 0, 1);
}
<div class="box" style="--abc:0;"></div>
<div class="box" style="--abc:1;"></div>
<div class="box" style="--abc:2;"></div>
<div class="box" style="--abc:3;"></div>
<div class="box" style="--abc:4;"></div>
<div class="box" style="--abc:5;"></div>
<div class="box" style="--abc:6;"></div>
<div class="box" style="--abc:7;"></div>
<div class="box" style="--abc:8;"></div>
<div class="box" style="--abc:9;"></div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我喜欢麦丽素 2025-02-01 13:26:39

问题是组合悬停和负z指数。使用:

z-index:calc(100 + var(-abc)*-1);

Problem is combine hover and negative z-index. Use:

z-index: calc(100 + var(--abc)*-1);

起风了 2025-02-01 13:26:39

您需要删除z索引:calc(var(-abc)*-1);

尝试以下操作:

 body{
background-color: aqua;
width: 100%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
gap: 1%;
}

.box{
box-sizing: border-box;
width: 100%; 
position: relative;
transform-style: preserve-3d;
transform: rotate(calc(var(--abc)* 10deg));
background-color: rgba(150, 250, 0, calc(var(--abc)* 0.1));
flex-shrink: 1;
aspect-ratio: 1;
}
.box:hover {
background-color: rgba(150, 250, 0, 1);
}

You need to delete z-index: calc(var(--abc)*-1);

Try this:

 body{
background-color: aqua;
width: 100%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
gap: 1%;
}

.box{
box-sizing: border-box;
width: 100%; 
position: relative;
transform-style: preserve-3d;
transform: rotate(calc(var(--abc)* 10deg));
background-color: rgba(150, 250, 0, calc(var(--abc)* 0.1));
flex-shrink: 1;
aspect-ratio: 1;
}
.box:hover {
background-color: rgba(150, 250, 0, 1);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文