【问题标题】:Perspective property doesn't work on my SCSS透视属性在我的 SCSS 上不起作用
【发布时间】:2022-01-25 09:43:39
【问题描述】:

我是初学者。我正在编写 HTML 和 SCCS,只是复制我们老师展示的代码。他正在添加一些句子,我一一跟进,检查新代码是否按照他的建议生效。我已经成功了,当时的HTML和SCSS如下:

HTML

<div class="banner">
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
    <div class="panel"></div>
</div> 

SCSS

body {
    background-color: #000;
    color: #fff;
    min-height: 100vh;
    display: grid;
    place-items: center;
}

.banner {
    display: flex;
}
$width: 23px;
.panel {
    position: relative;
    width: $width;
    height: 110px;
  // border: 1px solid white;
   overflow: hidden;
   animation: rotate 6s infinite ease-in-out;
}

@keyframes rotate {
    from { transform: rotateX(0deg); }
    to { transform: rotateX(360deg);}
}

.panel::before {
    position: absolute;
    left: var(--left);
    content: 'Hello World';
    font-size: 96px;
    width: max-content;
    color: hsl(var(--hue), 75%, 75%);
}

@for $i from 0 to 24 {
    .panel:nth-child(#{$i + 1}) {
        --left: #{$width * $i * -1};
        --hue: #{360 / 24 * $i};
}
}

然后他加了

perspective: 500px;

到 SCSS 中的正文,如下所示:

    place-items: center;
    perspective: 500px;

他屏幕上出现的东西立即改变了它的图像,但什么也没发生 矿。 我的电脑在 Windows 10 上运行,我尝试通过 Google Chrome、Microsoft Edge、Mozilla Firefox 阅读“index.html”,但是 都失败了。

我确实想自己完成他的 3D 动画。 请帮帮我。

【问题讨论】:

  • 我建议你在codepen中尝试一下。我复制了你的代码,它似乎可以工作codepen.io/Mrwilson/pen/VwMryXj
  • 感谢您的回复。我在你的 codepen 中看到了动画。
  • 感谢您的回复。我在您的代码笔中看到了动画。 “Hello World...”中的字母H在旋转过程中保持垂直,而当我们的老师添加“透视”时,他的字母H倾斜。见youtube.com/watch?v=NSWr6dkc_Xw&t=418s16:00
  • 在视频下方的描述中是该课的 2 个代码笔供您查看
  • “2 个密码笔”是什么意思?我对codepen了解不多。

标签: html css sass


【解决方案1】:

将perspective: 500px; 添加到.banner 类

【讨论】:

  • 感谢您的回复。我将perspective: 500px; 添加到.banner 类并且它起作用了。然后我添加了几句话,其中一些效果很好,最终结果与老师显示的目标有很大不同。昨晚我移动了perspective: 500px; 和perspective-origin:; 从.banner 到body 。然后一切顺利,这是 YouTube youtube.com/watch?v=NSWr6dkc_Xw&t=418s 我仍然想知道为什么他的添加有效?
  • sanma 如果他的答案对你有用,你必须点击他的答案旁边的复选标记以表明他的答案是正确的
  • 他的回答无效。
  • 你到底想做什么? perspective 只创建 3D 空间。如果透视未定义 translateZ() 无法处理您的代码。
  • 我要一步一步补这个:youtube.com/watch?v=NdftnCDwKaU&t=244s在这个视频中当Amit添加“透视”10:26,结果变成透视。但是当我尝试这个时,什么也没有发生。所以停在这里我不能走得更远。
猜你喜欢
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
  • 2018-12-09
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多