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.
<section>
<svg width="967" height="495" viewBox="0 0 967 595">
<g fill-rule="nonzero" fill="none">
<path id="shape_1" d="M221.101537 249.120871c26.405346 53.573775 26.105285 107.848516 8.501721 147.402986-17.703584 39.454332-52.710671 64.088255-91.618548 84.416249-39.007897 20.227855-82.016604 36.249919-125.1253314 25.73544-43.1087273-10.51448-86.31747479-47.465364-94.41911496-90.324385-8.10164016-42.85902 19.10386756-91.626177 53.31079266-147.102573C6.0580017 213.87233 47.566405 151.886971 94.675942 147.280628c47.209558-4.606343 100.120269 48.266467 126.425595 101.840243z" fill="#8857BF"/>
<path id="shape_2" d="M203.14275153 141.5672134C248.32686559 68.49632184 314.74427343 27.5036269 376.4142264 18.85911236c61.62415864-8.44606319 118.3787435 15.53236238 172.85884618 47.55564878 54.43430614 32.22173798 106.7925733 72.53417278 126.86565957 133.19046472 20.07308574 60.65629108 7.9831095 141.58013092-38.10154436 184.13373965-46.08465334 42.55360958-126.31663125 46.49270186-220.0732424 46.99439793-93.71081681.3032447-200.97679476-3.1515038-242.54278566-57.17098087-41.64231455-54.14162064-17.53884653-159.04642197 27.7215918-231.99516917z" fill="#6A4495" opacity=".7952939"/>
<path id="shape_3" d="M674.1432899.37496108c44.77109071-.22025805 81.22510008 17.81019281 102.0705012 42.6815596 20.7450406 24.90596631 25.81403283 56.61995357 26.69927113 89.55174707.78488003 32.966393-2.57947148 67.25097633-23.84847972 92.88642258-21.26900824 25.63544626-60.37523398 42.65464775-91.90615413 34.04334947-31.53092058-8.61129738-55.42069925-42.98808124-81.52471861-84.2931556-26.00366065-41.33967474-54.08828315-89.70973276-41.68606472-123.01170824C576.3827812 18.86370914 629.40511737.52772688 674.1432899.37496108z" fill="#5780BF"/>
<path id="shape_4" d="M671.87878892 219.95253056c34.36766966-51.45824202 83.20985764-79.29801887 127.81857265-83.97550003 44.57074238-4.53580365 84.81818917 14.14255906 123.22545101 38.55390194 38.36929172 24.55302471 75.04008598 54.87698953 87.95839346 99.03421643 12.91830748 44.1572269 2.17395717 102.09585427-32.07191423 131.56809906-34.2458709 29.47224566-92.09697414 30.29847156-159.59650028 28.3121708-67.46155503-2.12798087-144.5854171-7.29998846-173.1419754-47.21878033-28.60841431-40.0086091-8.61155186-114.90568134 25.8079728-166.27410787z" fill="#FFB4BC"/>
</g>
</svg>
<h2>Good morning, Ahmad</h2>
</section>
section {
position: relative;
height: 450px;
display: flex;
justify-content: center;
align-items: center;
h2 {
font-size: 60px;
font-weight: bold;
mix-blend-mode: overlay;
}
}
svg {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: -1;
}
body {
background: #e4d4f5;
font-family: Roboto, sans-serif;
}
/*
Try GreenSock's MorphSVGPlugin for free.
- Press the Fork button
- add your own SVG, JS and HTML
- have fun.
Learn more about MorphSVGPlugin here: https://greensock.com/morphSVG
MorphSVGPlugin is a bonus plugin for Shocking Green and Business Green members: https://www.greensock.com/club
*/
var tl = new TimelineLite(),
shape_2 = document.getElementById("shape_2");
tl.to(shape_2, 1, {morphSVG:"M203.14275143 141.5672132C248.3268655 68.49632162 316.4857779 37.55797646 378.15573087 28.91346191c61.62415863-8.44606319 116.63723892 5.4780126 171.11734162 37.50129901 54.43430666 32.22173882 106.79257383 72.53417363 126.86565956 133.19046471 20.07308574 60.65629109 7.9831095 141.58013093-38.10154383 184.13374051-46.08465334 42.55360958-126.31663178 46.492701-220.07324293 46.99439707-93.71081596.30324418-183.51422526-20.54551133-225.08021554-74.5649876-41.64231464-54.1416206-35.00141612-141.65241438 10.25902168-214.60116243z", repeat: -1})
.to(shape_1, 1, {morphSVG: "M192.008038 291.5c26.405346 53.573776 55.198784 65.469387 37.59522 105.023857-17.703584 39.454332-52.710671 64.088255-91.618548 84.416249-39.007897 20.227855-82.016604 36.249919-125.1253314 25.73544-43.1087273-10.51448-86.31747479-47.465364-94.41911496-90.324385-8.10164016-42.85902 19.10386756-91.626177 53.31079266-147.102573C6.0580017 213.87233 19.962756 182.202905 67.072293 177.596562c47.209558-4.606344 98.63042 60.329662 124.935745 113.903438z", repeat: -1})
.to(shape_3, 1, {morphSVG: "M674.1432899.37496108c44.77109071-.22025805 81.22510008 17.81019281 102.0705012 42.6815596 20.7450406 24.90596631 25.81403283 56.61995357 26.69927113 89.55174707.78488003 32.966393-2.57947148 67.25097633-23.84847972 92.88642258-21.26900824 25.63544626-60.37523398 42.65464775-91.90615413 34.04334947-31.53092058-8.61129738-55.42069925-42.98808124-81.52471861-84.2931556-26.00366065-41.33967474-54.08828315-89.70973276-41.68606472-123.01170824C576.3827812 18.86370914 629.40511737.52772688 674.1432899.37496108z", repeat: -1})
.to(shape_4, 1, {morphSVG: "M590.99471277 205.65323783C625.36238242 154.1949958 755.0886427 140.6545037 799.6973627 135.9770312c44.57074289-4.5358028 84.81818681 14.14255695 123.22545052 38.55390107 38.36929122 24.55302384 75.04008461 54.87698916 87.9583921 99.03421606 12.91830797 44.15722777 2.17395716 102.09585427-32.07191374 131.56809993-34.24587053 29.47224429-92.09697414 30.29847156-159.59650078 28.31216992-67.46155416-2.12798136-164.48985515 39.91879156-193.04641295 5.5e-7-28.6084148-40.00860996-69.59118974-176.42375438-35.1716651-227.79218091z", repeat: -1});
Also see: Tab Triggers