Pen Settings

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. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.

+ add another resource

You're using npm packages, so we've auto-selected Babel for you here, which we require to process imports and make it all work. If you need to use a different JavaScript preprocessor, remove the packages in the npm tab.

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

Use npm Packages

We can make npm packages available for you to use in your JavaScript. We use webpack to prepare them and make them available to import. We'll also process your JavaScript with Babel.

⚠️ This feature can only be used by logged in users.

Code Indentation


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.

HTML Settings

Here you can Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

              <h2>Chapter 1</h2>
<p>Kelly opened her eyes and struggled to remember where she was. She’d been dreaming. Again.</p>
<p>It was the same dream. In it, she walked slowly towards a door – a wooden door that had been bashed in. It was swinging lazily on its hinges, tempting her to go through it. As she approached, closer and closer, her heart beat faster, and although she knew she was dreaming, she could do nothing to wake herself up.</p>
<p>Her hand pushed in vain at the space where the door would be if it were closed tight, and the hinges creaked as the door swayed back and forth, inviting her to go in and take a look. She had no gun, no cuffs, no radio and no time. But she had to keep going. She already knew what was inside; it was the same every time. But each time she still tried. She would never give up. The squeaking door was her only companion as she walked hazily forward, finally making her way into the room.</p>
<p>There, waiting for her, was the victim: a woman about Kelly’s own age but who appeared much older. She didn’t move as Kelly shuffled towards her on sleepy feet.</p>
<p>The pressure on her throat caught her off guard and struck her with terrifying force. When she woke, she was holding her breath. She could still feel his hands. Air charged into her lungs and she gulped at it greedily. Her heart rate caused her chest to rise and fall, and she took a few minutes to assure herself that it was, after all, just another dream, exactly like the last.</p>
<p>Bastards. All of them.</p>
<p>Her mouth was sticky and she felt the familiar queasiness of a hangover. She’d only been back here five minutes and was supposed to be impressing her new unit. She hadn’t got very far, and screwing the local mountain rescue wasn’t the kind of start she’d hoped for; but still, it had been a pleasant experience. She looked at her watch: it was still early, and she had plenty of time for a pick-me-up coffee. Then she’d have to get to work.</p>
<h3 class="source">This is a small excerpt from the start of <a href="https://www.canelo.co/books/dark-game/">Dark Game</a> by Rachel Lynch.</h3>
              body {
	font-family: "Bembo MT Pro";
h2 {
p {
  margin-top: 1em;
  margin-bottom: 0;
  text-indent: 0;
p + p {
  margin-top: 0;
  text-indent: 1em;
.source {
  margin: 1em;

/* ** Try uncommenting the lines below for a fun surprise. It's a simple example of a more advanced CSS technique for animation

You can do that by removing the '/*' in front of the text ** */

/* h2 {
  animation-name: spin;
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
@keyframes spin {
    from {
    to {
} */
🕑 One or more of the npm packages you are using needs to be built. You're the first person to ever need it! We're building it right now and your preview will start updating again when it's ready.