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

              
                <html>
  <head>
    <title>Site title</title>
  </head>
  
  <!-- Put all of your HTML in the <body></body> tag -->
  <body>
    
    <div style="background-color: lightyellow; padding: 20px; border: 1px dashed grey;">
      <p>This pen is part of <a href="https://www.zachgollwitzer.com/posts/2021/fullstack-developer-series/7-html-css-crash-course/">lesson 7</a> of my fullstack web dev series.</p>
      <p>Don't worry about how I styled this block of text yet.  We'll get there later in the lesson! ☺️</p>
    </div>
    
    <!-- SECTION 1

        CONTENT TAGS

    -->
    <h1>h1 element (often used for page titles)</h1>
    <h2>h2 element (often used as main section titles)</h2>
    <h3>h3 element (subheading)</h3>
    <h4>h4 element (subheading)</h4>
    <h5>h5 element (subheading - I rarely use these)</h5>
    <h6>h6 element (subheading - not sure that I have ever used this)</h6>
    <p>p (paragraph) element - this is probably the most commonly used HTML element and represents the main text on a webpage</p>
    

      
          <p>We will use the h2 tag as the heading for each additional section here.  Also, read the code to see how I'm creating this horizontal divider line below (hint: the "hr" tag!)</p>
      
    <!-- "Horizontal rule": useful for page separation -->
    <hr>
    
    <!-- SECTION 2

        MORE CONTENT TAGS

    -->
    
    <h2>div, span, strong, em, a, img, button</h2>
    
        <p>Here is a <span style="color: red;">span element</span>, which is often used within a p tag to isolate and style a particular piece of text.  I have added a "style" attribute to it in the code, but we will cover how that works later.  And here is a <strong>bold element (the "strong" tag)</strong>, and an <em>italicized element (the "em" tag)</em>.
    
    <div>You could put normal text in a div element like this...</div>
    
    <div style="border: 1px dashed black; margin-top: 20px; margin-bottom: 20px; padding: 10px;">
      <p>But most of the time, you will nest an element within the div so that it can be styled like this (again, don't worry about how these styles are working yet)</p>
    </div>
    
    <a href="https://www.zachgollwitzer.com">Here's a link to my site.  For this tag, the "href" attribute is required</a>
    
    <p>Here are some input tags.  This allows a user to enter data.  This is a self-closing tag and some common attributes that you will use in it are "name", "placeholder", and "value".  Try typing into each of them.</p>
    
    <input name="input1" />
    <input name="input1" placeholder="here is a placeholder" />
    <input name="input1" value="here is a pre-defined value"/>
    
    <p>And here's an img (image) tag.  The "src" attribute is required.  I also added the "width" attribute to make it smaller to fit on this page.</p>
    
    <img src="https://i.insider.com/5484d9d1eab8ea3017b17e29" width="100" />
    
    <button>Click me</button>
    
    <p>The button above won't do anything (we need JavaScript for that), but you will use buttons ALL THE TIME in web programming, so learn them well!</p>
    
    <hr>
    
    <!-- SECTION 3

        LIST TAGS

    -->
    
    <h2>Lists</h2>
    
    <h3>Unordered List (ul tag)</h3>
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
    
    <h3>Ordered List (ol tag)</h3>
    <ol>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ol>
    
    <hr>
    
    <!-- SECTION 4

        TABLE TAGS

    -->
    
    <h2>Tables</h2>
    <p>Below is an unstyled HTML table.  You won't use tables that often, but I suggest using a <a href="">table generator like this one</a> when you do use them as it will save you a TON of time.</p>
    
    <table>
      <tr>
        <th>Heading 1</th>
        <th>Heading 2</th>
      </tr>
      <tr>
        <td>Data 1</td>
        <td>Data 2</td>
      </tr>
      <tr>
        <td>Data 3</td>
        <td>Data 4</td>
      </tr>
    </table>
    
    <hr>
    
    
  </body>
</html>
              
            
!

CSS

              
                /* If you are here, don't worry about the code below.  I just added some simple CSS styles
   to make the layout look better */

input, button {
  display: block;
  margin-top: 20px;
}
              
            
!

JS

              
                
              
            
!
999px

Console