首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSS动画没有正确填充垂直高度吗?

CSS动画没有正确填充垂直高度吗?
EN

Stack Overflow用户
提问于 2019-06-10 02:04:08
回答 1查看 126关注 0票数 0

我正在尝试创建一个探照灯/聚光灯效果,将突出一些使用CSS动画的文本。Heres a fiddle

然而,我的聚光灯并没有到达页面的顶部,而是在整个动画中不同程度地显示出黑色背景。

我想要实现的东西看起来像这样:

我想知道是否有人有任何关于如何修改我的聚光灯垂直填充整个页面的想法?

h1 {
  color: green;
  position: absolute;
}

body {
  background-color: black;
  overflow: hidden;
}

.spotlight {
  position: relative;
  width: 10vw;
  height: 0vh;
  border-top: 100vh solid rgba(255, 255, 255, 0.25);
  border-left: 12vw solid transparent;
  border-right: 12vw solid transparent;
  background-color: transparent;
  -webkit-transform-origin: 50% 100% 0;
  z-index: 0;
  -webkit-animation: move 7s ease-in-out;
}

@-webkit-keyframes move {
  0% {
    -webkit-transform: rotate(-30deg) scaleX(0.4);
  }
  50% {
    -webkit-transform: rotate(30deg) scaleX(0.4);
  }
  100% {
    -webkit-transform: rotate(0deg);
  }
}
<html>

<head></head>

<body>

  <h1>
    Some text
  </h1>

  <div class="spotlight spot1"></div>

</body>

</html>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 04:57:14

只需使用display:absolute而不是relative,并稍微修改一下代码;)

h1 {
  color: green;
  position: absolute;
  z-index: 1;
}

body {
  background-color: black;
  overflow: hidden;
}

.spotlight {
  position: absolute;
  width: 10vw;
  bottom: -20px;
  border-top: 140vh solid rgba(245, 245, 245, 0.493);
  border-left: 12vw solid transparent;
  border-right: 12vw solid transparent;
  background-color: transparent;
  transform-origin: 50% 100% 0;
  z-index: 0;
  opacity: 1;
  will-change: auto;
  animation: move 7s ease-in-out;
}

@keyframes move {
  0% {
    transform: rotate(-30deg) scaleX(0.4);
  }

  50% {
    transform: rotate(30deg) scaleX(0.4);
  }

  100% {
    transform: rotate(0deg);
  }
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <h1>
    Some text
  </h1>
  <div class="spotlight spot1"></div>
</body>

</html>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56517140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档