如何在我的网站上实现 .SCSS?

3

最近我在Codepen上进行了一些实验,我想知道如何将网站上展示的代码应用到自己的网站上。我意识到Codepen使用的大部分格式不是纯".css",而是一种叫做".scss"的新东西。我想知道从哪里开始,是否有人能帮助我理解.scss的工作原理,特别是这个

body{
  background:black;
  font-family: 'Varela', sans-serif;
}

.glitch{
  color:white;
  font-size:0px;
  position:relative;
  width:268px;
  height:654px;
  margin:0 auto;
  text-indent:-999em;
  background:transparent url(http://cdn.hiphopwired.com/wp-content/uploads/2013/09/Vanellope-Von-Scweetz-wreck-it-ralph.png) center center no-repeat;
}
@keyframes noise-anim{
  $steps:20;
  @for $i from 0 through $steps{
    #{percentage($i*(1/$steps))}{
      clip:rect(random(654)+px,9999px,random(654)+px,0);
    }
  }
}
.glitch:after{
  content:'';
  width:100%;
  height:100%;
  position:absolute;
  left:2px;
  top:0;
  overflow:hidden;
  clip:rect(0,900px,0,0); 
  animation:noise-anim 2s infinite linear alternate-reverse;
  background:inherit;
  -webkit-filter: hue-rotate(90deg);
  filter: hue-rotate(90deg);
}

@keyframes noise-anim-2{
  $steps:20;
  @for $i from 0 through $steps{
    #{percentage($i*(1/$steps))}{
      clip:rect(random(100)+px,9999px,random(100)+px,0);
    }
  }
}

.glitch:before{
  content: '';
  width:100%;
  height:100%;
  position:absolute;
  left:-2px;
  top:0;
  overflow:hidden;
  clip:rect(0,900px,0,0); 
  animation:noise-anim-2 3s infinite linear alternate-reverse;
  background:inherit;
  -webkit-filter: hue-rotate(300deg);
  filter: hue-rotate(300deg);
}

5
Sass是一种CSS预处理器,需要将其编译为CSS后才能使用,无法直接引用。 - Jon Egeland
怎样可以做到呢? - kotAPI
@kotAPI - 也许Jon发布的链接可以解释... - Quentin
@Quentin Jon删掉了评论吗?我现在找不到它了。 我也试过Jon发布的代码,但是当我尝试运行它时,我的网站上没有出现故障效果。我似乎无法找出原因。我只是试图制作一张图像的故障效果,您有任何解决方案可以考虑吗? - kotAPI
@kotAPI - 不,评论还没有被删除:http://note.io/1G0NW8i - Quentin
抱歉,我得刷新一下页面。 - kotAPI
2个回答

6

SASS仍然是CSS

好的,为了让事情更清晰明了 - 所有你看到的仍然是CSS,但它是用SASS编写的,然后再编译回CSS。

SASS就像是“增强版的CSS”,你可以使用循环、混合和大量酷炫的功能。你在SASS中编写,然后将其编译为CSS,就可以使用了。

获取和理解SASS

要开始使用,你必须从http://sass-lang.com/install安装SASS。如果你不熟悉命令行,你可以安装一个单独的应用程序,比如ScoutKoala(sass-lang安装页面上还有更多选项)。

然后,你基本上设置应用程序/ SASS来跟踪文件x(SASS),并将你所写的内容输出到文件y(CSS)。每当你更改文件x中的内容时,它都会被重新编译并移动到y中。

你需要学习SASS语法,但如果你已经了解CSS,它就很清晰易懂。

为了让你更加困惑,还有一个基于SASS的非常酷的框架Compass,一旦你掌握了SASS,你一定要试一试。

解释你的动画

关于你的第二个问题 - 提供的示例只是一个简单的CSS3动画,使用@keyframesanimation。你可以仅使用CSS来完成这个动画,不需要使用SASS。

以下是证明你的示例基本上是一些CSS代码的证明:http://jsfiddle.net/ypq7aost/(请注意,这是纯CSS!)


1
你好Bart,我尝试使用从链接生成的代码,并且刚刚保存了更改。当我刷新网页时,我看到图片,但故障效果没有显示。我不知道为什么。 - kotAPI
由于CSS3动画仍然需要使用前缀,尝试将<script type='text/javascript' src="http://s.codepen.io/assets/libs/prefixfree.min.js"></script>添加到您的文档头部。这是一个最新的需要前缀的项目列表(请查看动画选项卡):http://shouldiprefix.com。总有一天,您将不再需要为动画添加前缀,但目前还需要。您可以手动添加前缀,或者在页面中包含prefixfree.min.js,您可以在此处获取它:http://leaverou.github.io/prefixfree/。 - Bart Karp
哇,我不知道它会这么复杂。看来你可能是对的。我会尝试想办法解决它,非常感谢。 - kotAPI

0

.scss 代码是用 SASS 写的代码,基本上是 CSS 的扩展。

请参阅 http://sass-lang.com/install 以获取有关安装的更多信息和帮助,但我将从以下开始...

Sass 是一个 Ruby gem,因此您需要安装 ruby 才能安装 SASS(在此处获取 ruby here)安装后,在终端中(例如 Windows 中的命令行)运行 gem install sass 即可。

您可以通过键入 sass --watch sass_folder:stylesheets_folder 来完成这个过程,其中 sass_folder 是保存 Sass 文件的文件夹(文件扩展名必须为 .sass),而 stylesheets_folder 是输出文件夹。
添加 --watch 表示它将监视文件夹以查看任何进一步的更改,并在您保存它们时立即编译它们。

祝你好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接