HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
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.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .css
URL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
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.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
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.
Using packages here is powered by esm.sh, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ESM usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
<body class="bg-blue-50">
<aside class="fixed top-0 left-0 z-40 h-full overflow-x-hidden overflow-y-auto transition-all duration-500 ease-in-out bg-white aside no-scroll">
<ul class="mt-0 md:mt-24 flex flex-col">
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-home"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-allergies"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-bowling-ball"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-book-dead"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-atom"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-biking"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-capsules"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-carrot"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-certificate"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-car-battery"></i>
</a>
</li>
<li>
<a href="#" class="my-6 text-3xl flex justify-center">
<i class="fas fa-cat"></i>
</a>
</li>
</ul>
</aside>
<div class="min-h-screen body">
<div class="container max-w-md mx-auto mt-12">
<h1 class="py-6 text-3xl font-normal text-default">Content</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent faucibus arcu at diam vestibulum, non ornare sem facilisis. Quisque consectetur luctus mi at posuere. Suspendisse a neque et mauris scelerisque elementum id et ligula. Morbi porttitor ex leo, ac dapibus massa commodo elementum. Etiam venenatis, felis quis sollicitudin pharetra, mi libero fringilla diam, ac aliquet urna justo quis mauris. Ut mollis urna eu viverra iaculis. Donec et dolor tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Donec finibus mollis justo sed auctor. Integer rutrum semper purus, sit amet hendrerit ex accumsan eu. Nunc euismod dignissim mauris, sed tempus eros interdum et.
<br /><br />
Sed eu interdum lacus. Nam convallis nibh mauris, vitae gravida massa consequat ut. Nam a finibus mauris. Etiam sagittis metus in euismod sagittis. Phasellus lobortis tincidunt mi, vel sodales eros. Quisque sodales vulputate odio et eleifend. Morbi at libero nec nulla hendrerit egestas. Curabitur orci nisi, semper ut congue vel, semper gravida nulla. Vestibulum eu consectetur dolor. Phasellus tempor risus ac dui feugiat, sed elementum massa egestas. Ut id sollicitudin tellus, vel interdum enim. Fusce ut mollis ante. Curabitur bibendum nisl libero, eu finibus sapien varius a. Nullam felis nibh, scelerisque fringilla lobortis quis, scelerisque ac erat.
<br /><br />
Phasellus ac tincidunt urna, a sagittis arcu. Sed consectetur vulputate eros in ultricies. Quisque et libero non erat imperdiet mattis sed et lacus. Sed varius fermentum lorem, ut malesuada tellus dictum ut. Phasellus commodo posuere ipsum hendrerit pretium. Nam erat nibh, consectetur ut tempor a, semper viverra sapien. Sed at pulvinar odio. Duis ligula velit, scelerisque ut purus a, pellentesque egestas erat. Donec varius elementum mi, non malesuada velit sagittis eu. Aliquam porttitor diam eu tincidunt auctor. Donec congue velit non libero mollis, nec cursus risus rutrum. Aliquam at feugiat velit. Nulla facilisi. Praesent a laoreet ligula, ut accumsan dui. In sed placerat augue.
<br /><br />
In a egestas nisi, a suscipit ex. Pellentesque nisi metus, semper eget eros at, varius ultrices tortor. Proin eget odio facilisis, scelerisque erat ac, facilisis ipsum. Fusce ultrices, urna et mattis finibus, odio erat eleifend lorem, a faucibus mauris massa eget neque. Donec hendrerit orci ut laoreet ultricies. Nulla in suscipit arcu, a accumsan justo. Nunc vitae facilisis enim. Sed eleifend sapien quis nisl elementum, quis egestas dolor rutrum. Fusce gravida non ligula sit amet viverra. Nam dapibus odio ac mauris gravida maximus vel et risus. Donec id augue orci. Proin sit amet egestas turpis. Suspendisse quis convallis tortor. Mauris ornare tellus nec massa iaculis dapibus. In eget fringilla orci. Cras ut purus non turpis posuere fringilla.
<br /><br />
Nunc pharetra massa quis quam imperdiet, et bibendum orci dignissim. Duis malesuada tincidunt massa. Phasellus tempus lectus enim, ac luctus quam rhoncus a. Quisque maximus lorem quis felis dapibus, sit amet malesuada ex pretium. Ut efficitur nibh at nibh varius sagittis. Quisque non tincidunt magna. Ut vel eros nec turpis porttitor rutrum quis in augue. Curabitur sodales, justo vel consectetur ultricies, turpis sem maximus nisl, ac viverra risus lectus rhoncus lectus. Donec dui diam, sollicitudin tempor mauris sit amet, pellentesque feugiat ex. Proin elementum mauris quam, in feugiat nulla convallis a. Ut in turpis egestas, rhoncus dolor ac, pulvinar nulla. Donec ut mi libero. Donec eu fringilla erat.
</p>
</div>
</div>
</body>
.aside {
width: 80px;
}
.body {
padding-left: 80px;
}
.no-scroll {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
&::-webkit-scrollbar {
display: none; /* Chrome, Safari and Opera */
}
}
Also see: Tab Triggers