Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URLs added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <div class="center">
  <canvas id="canvas" width="105" height="105">
    <p>Get chrooome!</p>
  </canvas>
</div>
<p title="Loading, please wait."></p>
              
            
!

CSS

              
                @import url(https://fonts.googleapis.com/css?family=Raleway+Dots);

* {
    margin:0;padding:0;
    outline:0;list-style:none;
    font-family: 'Raleway Dots', cursive;
}

body {
    background-color: #fff;
    background: url('data:image/png;base64,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');
}

.center {
  width: 105px;
  margin: 0 auto;
  margin-top: 50px;
}

p{
  width: 200px;
  text-align: center;
  margin: 0 auto;
}
p:before {
  position: relative;
  top: 0px;
  content: attr(title);
  color: #aaa;
}
              
            
!

JS

              
                var cvs = document.getElementById("canvas");
    ctx = cvs.getContext("2d");
    sA = (Math.PI / 180) * 45;
    sE = (Math.PI / 180) * 90;
    ca = canvas.width;
    ch = canvas.height;

function init(){     
    
    setInterval(function(){
        
       ctx.clearRect(0, 0, ca, ch);
       ctx.lineWidth = 15;
      
       ctx.beginPath();
       ctx.strokeStyle = "#ffffff";     
       ctx.shadowColor = "#eeeeee";
       ctx.shadowOffsetX = 2;
       ctx.shadowOffsetY = 2;
       ctx.shadowBlur = 5;
       ctx.arc(50, 50, 25, 0, 360, false);
       ctx.stroke();
       ctx.closePath();
        
       sE += 0.05; 
       sA += 0.05;
                
       ctx.beginPath();
       ctx.strokeStyle = "#aaaaaa";
       ctx.arc(50, 50, 25, sA, sE, false);
       ctx.stroke();
       ctx.closePath();   
        
    }, 6);
    
}

init();
              
            
!
999px

Console