2013-04-25 19 views
5

Das könnte eine dumme Frage sein, aber ich stolperte über diesen tollen CodePen, den ich anpassen und verwenden wollte. Ich habe eine kurze Demo auf meinem eigenen Server gestartet, aber es hat nicht funktioniert. Dann habe ich gemerkt, dass neben CodePen SCSS steht, was ich gegoogelt habe. Ich verstehe es, aber ich weiß nicht, wie ich diesen bestimmten Code zum Laufen bringen kann.Wie kann ich Sass arbeiten lassen?

Die html:

<body> 


    <div id="paper"> </div> 
    <div class="wrap"> 
      <a class="two" href="http://db.tt/vkXgwK2P"> 
       <img class="round" src="http://db.tt/vkXgwK2P" alt=""> 
      </a> 
      <a class="three" href="http://db.tt/Lrtnc768"> 
       <img class="round" src="http://db.tt/Lrtnc768" alt=""> 
      </a> 
      <a class="one" href="http://db.tt/CSVy5HNR"> 
       <img class="round" src="http://db.tt/CSVy5HNR" alt=""> 
      </a> 


      <figure> 
       <img src="http://db.tt/FveX1nYo" alt=""> 
      </figure> 
    </div> 

Die SCSS:

body { 
    margin: 0; 
} 

#paper { 
    height: 120px; 
    margin: 0; 
    background: #303535; 
} 

.wrap { 
    margin: 0 auto; 
    width: 180px; 
    height: 180px; 
    border-radius: 50%; 
    box-shadow: 0 0 0 10px white; 
    position: relative; 
    top: -80px; 
    background: #fff; 

    a { 
    margin: 0; 
    position: absolute; 
    .round { 
     border-radius: 50%; 
     width: 180px; 
     height: 180px; 
     box-shadow: 0 0 0 10px white; 
    } 
    } 
    figure img { 
    margin: 0; 
    -webkit-transition: top 0.4s ease-out; 
    -moz-transition: top 0.4s ease-out; 
    transition: top 0.4s ease-out; 
    position: absolute;  
    top: 200px; 
    left: 77px; 
    } 
    .two { 
    margin: 0; 

    -webkit-transition: top 0.4s ease-out; 
    -moz-transition: top 0.4s ease-out; 
    transition: top 0.4s ease-out; 
    opacity: 0.8; 
    top: 0; 
    } 
    .three { 
    margin: 0; 
    -webkit-transition: top 0.4s ease-out; 
    -moz-transition: top 0.4s ease-out; 
    transition: top 0.4s ease-out;  
    opacity: 0.8; 
    top: 0; 
    } 
    &:hover .one { 
    opacity: 0.8; 
    } 
    & a.one:hover { 
    opacity: 1; 
    z-index: 2; 
    } 
    :hover .two { 
    top: 300px; 
    } 
    & a.two:hover { 
    opacity: 1; 
    z-index: 2; 
    } 
    &:hover .three { 
    top: 150px; 
    } 
    & a.three:hover { 
    opacity: 1; 
    z-index: 2; 
    } 
    &:hover figure img { 
    top: 500px;  
    } 
} 

Es ist auch ein Beispiel dafür, was ich versuche zu CodePen zu erreichen: http://codepen.io/CoffeeCupDrummer/pen/FqChm

Ich dachte, vielleicht lag das Problem in meiner Link-Syntax, also chan so sah es aus, aber das hat auch nicht funktioniert. Ich versuchte style.css und wechselte dann zu style.scss in der Hoffnung, es zu beheben.

<link rel="stylesheet" href="stylesheet/style.scss"> 

So ist meine Frage, was ist so anders an SCSS und warum kann ich es an die Arbeit, wenn es auf CodePen ganz gut funktioniert?

Antwort

5

Die Sache ist, dass Sie Ihre SCSS in CSS kompilieren müssen. Es gibt keine Browser, die Sass unterstützen: Sie müssen es zuerst mit einem Sass-Compiler kompilieren und dann mit dem kompilierten CSS verknüpfen. Das macht Codepen automatisch für Sie.

Wie Sass kompilieren

Es gibt zwei Möglichkeiten Sass zu kompilieren, die beide automatisch Ihren Code kompilieren, wenn Sie Änderungen vornehmen:

Es ist erwähnenswert, dass Codepen kompiliert mit , die ich anstelle des Vanille-Sass-Compiler zu verwenden. Zusätzlich zu den zusätzlichen Funktionen und einer Bibliothek mit nützlichen Mixins wird eine Konfigurationsdatei (config.rb) verwendet, so dass Sie nur den Befehl compass watch ausführen müssen, um während des Codes kompilieren zu können.

Das klingt nach einem kleinen Ärger, aber es lohnt sich. Compass bringt Sass auf eine ganz neue Ebene mit seiner Bibliothek von Mixins und einem Ökosystem von Compass-Erweiterungen: grid systems, tools to make your site responsive, handy shortcuts und tools.

Verwandte Themen