Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's 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 it's URL and the proper URL extention.

+ 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

Save Automatically?

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

              
                <img id="valentines" src="data:image/png;base64,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">


<!-- dribbble - twitter -->
<a class="dribbble" href="https://dribbble.com/TaminoMartinius" target="_blank">
  <img src="https://cdn.dribbble.com/assets/dribbble-ball-mark-2bd45f09c2fb58dbbfb44766d5d1d07c5a12972d602ef8b32204d28fa3dda554.svg" alt=""/>
</a>
<a class="twitter" target="_top" href="https://twitter.com/TaminoMartinius">
  <svg xmlns="http://www.w3.org/2000/svg" width="72" height="72" viewBox="0 0 72 72">
    <path d="M67.812 16.141a26.246 26.246 0 0 1-7.519 2.06 13.134 13.134 0 0 0 5.756-7.244 26.127 26.127 0 0 1-8.313 3.176A13.075 13.075 0 0 0 48.182 10c-7.229 0-13.092 5.861-13.092 13.093 0 1.026.118 2.021.338 2.981-10.885-.548-20.528-5.757-26.987-13.679a13.048 13.048 0 0 0-1.771 6.581c0 4.542 2.312 8.551 5.824 10.898a13.048 13.048 0 0 1-5.93-1.638c-.002.055-.002.11-.002.162 0 6.345 4.513 11.638 10.504 12.84a13.177 13.177 0 0 1-3.449.457c-.846 0-1.667-.078-2.465-.231 1.667 5.2 6.499 8.986 12.23 9.09a26.276 26.276 0 0 1-16.26 5.606A26.21 26.21 0 0 1 4 55.976a37.036 37.036 0 0 0 20.067 5.882c24.083 0 37.251-19.949 37.251-37.249 0-.566-.014-1.134-.039-1.694a26.597 26.597 0 0 0 6.533-6.774z"/>
  </svg>    
</a>
              
            
!

CSS

              
                html, body {
  margin: 0;
  background: #000;
}

img {
  display: none;
}


.dribbble {
  position: fixed;
  display: block;
  right: 20px;
  bottom: 20px;
}
.dribbble img {
  display: block;
  height: 28px;
}
.twitter {
  position: fixed;
  display: block;
  right: 64px;
  bottom: 14px;
}
.twitter svg {
  width: 32px;
  height: 32px;
  fill: #1da1f2;
}

              
            
!

JS

              
                // (c) NextCode
// see https://nextparticle.nextco.de/ for more details

const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || window.innerWidth < 800;

const settings = {
  particleGap: isMobile ? 7 : 5,
  particleSize: isMobile ? 4 : 2,
  mouseForce: 30,
  noise: 30,
  layerCount: isMobile ? 1 : 3,
  layerDistance: 5,
  heartBeat: true,
  beatStrength: 200,
};

const heart = new NextParticle({
  renderer: 'webgl',
  image: document.querySelector('#valentines'),
  width: window.innerWidth,
  height: window.innerHeight,
  particleGap: settings.particleGap,
  particleSize: settings.particleSize,
  mouseForce: settings.mouseForce,
  noise: settings.noise,
  layerCount: settings.layerCount,
  layerDistance: settings.layerDistance,
});

function redraw() {
  heart.particleGap = settings.particleGap;
  heart.particleSize = settings.particleSize;
  heart.mouseForce = settings.mouseForce;
  heart.noise = settings.noise;
  heart.layerCount = settings.layerCount;
  heart.layerDistance = settings.layerDistance;
  heart.width = window.innerWidth;
  heart.height = window.innerHeight;
  
  heart.start({
    initPosition: 'none',
    initDirection: 'none',
  });
};

const gui = new dat.GUI();
gui.add(settings, 'particleGap', 1, 20, 1).onChange(redraw);
gui.add(settings, 'particleSize', .5, 20, .1).onChange(redraw);
gui.add(settings, 'mouseForce', -300, 300, 5).onChange(redraw);
gui.add(settings, 'noise', 0, 100, 1).onChange(redraw);
gui.add(settings, 'layerCount', 1, 15, 1).onChange(redraw);
gui.add(settings, 'layerDistance', 0.1, 20, .1).onChange(redraw);
gui.add(settings, 'heartBeat');
gui.add(settings, 'beatStrength', 0, 500, 1);

if (isMobile) {
  gui.close();
}

window.addEventListener('resize', redraw);

setInterval(() => {
  if (settings.heartBeat) {
    const strength = settings.beatStrength;
    heart.origins.map(o => o.z -= strength);
    setTimeout(() => {
      heart.origins.map(o => o.z += strength);
    }, isMobile ? 200 : 100);
  }
}, isMobile ? 2500 : 1500)
              
            
!
999px

Console