Getting Started
hello.html {.col-span-2 .row-span-2}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5 Boilerplate</title>
</head>
<body>
    <h1>Hello world, hello CheatSheets.zip!</h1>
</body>
</html>Or try it out in the jsfiddle (opens in a new tab)
Comment
<!-- this is a comment -->
 
<!--
    Or you can comment out a
    large number of lines.
-->Paragraph
<p>I'm from CheatSheets.zip</p>
<p>Share quick reference cheat sheet.</p>See: The Paragraph element (opens in a new tab)
HTML link
<a href="https://cheatsheets.zip">CheatSheets</a>
<a href="mailto:jack@abc.com">Email</a>
<a href="tel:+12345678">Call</a>
<a href="sms:+12345678&body=ha%20ha">Msg</a>| href | The URL that the hyperlink points to | |
| rel | Relationship of the linked URL | |
| target | Link target location: _self,_blank,_top,_parent | |
| {.left-text} | 
See: The <a> Attributes (opens in a new tab)
Image Tag
<img loading="lazy" src="https://xxx.png" alt="Describe image here" width="400" height="400">| src | Required, Image location (URL | Path) | |
| alt | Describe of the image | |
| width | Width of the image | |
| height | Height of the image | |
| loading | How the browser should load | |
| {.left-text} | 
See: The Image Embed element (opens in a new tab)
Text Formatting Tags
<b>Bold Text</b>
<strong>This text is important</strong>
<i>Italic Text</i>
<em>This text is emphasized</em>
<u>Underline Text</u>
<pre>Pre-formatted Text</pre>
<code>Source code</code>
<del>Deleted text</del>
<mark>Highlighted text (HTML5)</mark>
<ins>Inserted text</ins>
<sup>Makes text superscripted</sup>
<sub>Makes text subscripted</sub>
<small>Makes text smaller</small>
<kbd>Ctrl</kbd>
<blockquote>Text Block Quote</blockquote>Headings
<h1> This is Heading 1 </h1>
<h2> This is Heading 2 </h2>
<h3> This is Heading 3 </h3>
<h4> This is Heading 4 </h4>
<h5> This is Heading 5 </h5>
<h6> This is Heading 6 </h6>You should only have one h1 on your page
Section Divisions
| <div></div> | Division or Section of Page Content | 
| <span></span> | Section of text within other content | 
| <p></p> | Paragraph of Text | 
| <br> | Line Break | 
| <hr> | Basic Horizontal Line | 
These are the tags used to divide your page up into sections
Inline Frame {.row-span-2}
<iframe title="New York"
    width="342"
    height="306"
    id="gmap_canvas"
    src="https://maps.google.com/maps?q=2880%20Broadway,%20New%20York&t=&z=13&ie=UTF8&iwloc=&output=embed"
    scrolling="no">
</iframe>↓ Preview
See: The Inline Frame element (opens in a new tab)
JavaScript in HTML
<script type="text/javascript">
    let text = "Hello CheatSheets.zip";
    alert(text);
</script>External JavaScript
<body>
    ...
    
    <script src="app.js"></script>
</body>CSS in HTML
<style type="text/css">
    h1 {
        color: purple;
    }
</style>External stylesheet
<head>
...
<link rel="stylesheet" href="style.css"/>
</head>HTML5 Tags
Document
<body>
  <header>
    <nav>...</nav>
  </header>
  <main>
    <h1>CheatSheets.zip</h1>
  </main>
  <footer>
    <p>©2023 CheatSheets.zip</p>
  </footer>
</body>Header Navigation
<header>
  <nav>
    <ul>
      <li><a href="#">Edit Page</a></li>
      <li><a href="#">Twitter</a></li>
      <li><a href="#">Facebook</a></li>
    </ul>
  </nav>
</header>HTML5 Tags {.row-span-4}
| article (opens in a new tab) | Content that’s independent | 
| aside (opens in a new tab) | Secondary content | 
| audio (opens in a new tab) | Embeds a sound, or an audio stream | 
| bdi (opens in a new tab) | The Bidirectional Isolate element | 
| canvas (opens in a new tab) | Draw graphics via JavaScript | 
| data (opens in a new tab) | Machine readable content | 
| datalist (opens in a new tab) | A set of pre-defined options | 
| details (opens in a new tab) | Additional information | 
| dialog (opens in a new tab) | A dialog box or sub-window | 
| embed (opens in a new tab) | Embeds external application | 
| figcaption (opens in a new tab) | A caption or legend for a figure | 
| figure (opens in a new tab) | A figure illustrated | 
| footer (opens in a new tab) | Footer or least important | 
| header (opens in a new tab) | Masthead or important information | 
| main (opens in a new tab) | The main content of the document | 
| mark (opens in a new tab) | Text highlighted | 
| meter (opens in a new tab) | A scalar value within a known range | 
| nav (opens in a new tab) | A section of navigation links | 
| output (opens in a new tab) | The result of a calculation | 
| picture (opens in a new tab) | A container for multiple image sources | 
| progress (opens in a new tab) | The completion progress of a task | 
| rp (opens in a new tab) | Provides fall-back parenthesis | 
| rt (opens in a new tab) | Defines the pronunciation of character | 
| ruby (opens in a new tab) | Represents a ruby annotation | 
| section (opens in a new tab) | A group in a series of related content | 
| source (opens in a new tab) | Resources for the media elements | 
| summary (opens in a new tab) | A summary for the <details> element | 
| template (opens in a new tab) | Defines the fragments of HTML | 
| time (opens in a new tab) | A time or date | 
| track (opens in a new tab) | Text tracks for the media elements | 
| video (opens in a new tab) | Embeds video | 
| wbr (opens in a new tab) | A line break opportunity | 
HTML5 Video
<video controls="" width="100%">
    <source src="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4" type="video/mp4">
    Sorry, your browser doesn't support embedded videos.
</video>↓ Preview
HTML5 Audio
<audio controls
    src="https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3">
    Your browser does not support the audio element.
</audio>↓ Preview
HTML5 Ruby
<ruby>
  汉 <rp>(</rp><rt>hàn</rt><rp>)</rp>
  字 <rp>(</rp><rt>zì</rt><rp>)</rp>
</ruby>↓ Preview
汉 字HTML5 kdi
<ul>
 <li>User <bdi>hrefs</bdi>: 60 points</li>
 <li>User <bdi>jdoe</bdi>: 80 points</li>
 <li>User <bdi>إيان</bdi>: 90 points</li>
</ul>↓ Preview
- User hrefs: 60 points
- User jdoe: 80 points
- User إيان: 90 points
HTML5 progress
<progress value="50" max="100"></progress>HTML5 mark
<p>I Love <mark>CheatSheets.zip</mark></p>I Love CheatSheets.zip
HTML Tables
Table Example {.row-span-2}
<table>
    <thead>
        <tr>
            <td>name</td>
            <td>age</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Roberta</td>
            <td>39</td>
        </tr>
        <tr>
            <td>Oliver</td>
            <td>25</td>
        </tr>
    </tbody>
</table>HTML Table Tags {.row-span-2}
| Tag | Description | 
|---|---|
| <table> (opens in a new tab) | Defines a table | 
| <th> (opens in a new tab) | Defines a header cell in a table | 
| <tr> (opens in a new tab) | Defines a row in a table | 
| <td> (opens in a new tab) | Defines a cell in a table | 
| <caption> (opens in a new tab) | Defines a table caption | 
| <colgroup> (opens in a new tab) | Defines a group of columns | 
| <col> (opens in a new tab) | Defines a column within a table | 
| <thead> (opens in a new tab) | Groups the header content | 
| <tbody> (opens in a new tab) | Groups the body content | 
| <tfoot> (opens in a new tab) | Groups the footer content | 
<td> Attributes
| Attribute | Description | 
|---|---|
| colspan | Number of columns a cell should span | 
| headers | One or more header cells a cell is related to | 
| rowspan | Number of rows a cell should span | 
See: td#Attributes (opens in a new tab)
<th> Attributes
| Attribute | Description | 
|---|---|
| colspan | Number of columns a cell should span | 
| headers | One or more header cells a cell is related to | 
| rowspan | Number of rows a cell should span | 
| abbr | Description of the cell's content | 
| scope (opens in a new tab) | The header element relates to | 
See: th#Attributes (opens in a new tab)
HTML Lists
Unordered list
<ul>
    <li>I'm an item</li>
    <li>I'm another item</li>
    <li>I'm another item</li>
</ul>See: The Unordered List element (opens in a new tab)
Ordered list
<ol>
    <li>I'm the first item</li>
    <li>I'm the second item</li>
    <li>I'm the third item</li>
</ol>See: The Ordered List element (opens in a new tab)
Definition list
<dl>
    <dt>A Term</dt>
    <dd>Definition of a term</dd>
    <dt>Another Term</dt>
    <dd>Definition of another term</dd>
</dl>See: The Description List element (opens in a new tab)
HTML Forms
Form tags {.row-span-2}
<form method="POST" action="api/login">
  <label for="mail">Email: </label>
  <input type="email" id="mail" name="mail">
  <br/>
  <label for="pw">Password: </label>
  <input type="password" id="pw" name="pw">
  <br/>
  <input type="submit" value="Login">
  <br/>
  <input type="checkbox" id="ck" name="ck">
  <label for="ck">Remember me</label>
</form>↓ Preview
The HTML <form> element is used to collect and send information to an external source.
Form Attribute
| Attribute | Description | 
|---|---|
| name | Name of form for scripting | 
| action | URL of form script | 
| method | HTTP method, POST/GET(default) | 
| enctype | Media type, See enctype (opens in a new tab) | 
| onsubmit | Runs when the form was submit | 
| onreset | Runs when the form was reset | 
Label tags
<!-- Nested label -->
<label>Click me 
<input type="text" id="user" name="name"/>
</label><!-- 'for' attribute -->
<label for="user">Click me</label>
<input id="user" type="text" name="name"/>for in a label references an input's id attribute
Input tags
<label for="Name">Name:</label>
<input type="text" name="Name" id="">↓ Preview
See: HTML input Tags
Textarea tags
<textarea rows="2" cols="30" name="address" id="address"></textarea>↓ Preview
Textarea is a multiple-line text input control
Radio Buttons
<input type="radio" name="gender" id="m">
<label for="m">Male</label>
<input type="radio" name="gender" id="f">
<label for="f">Female</label>↓ Preview
Radio buttons are used to let the user select exactly one
Checkboxes
<input type="checkbox" name="s" id="soc">
<label for="soc">Soccer</label>
<input type="checkbox" name="s" id="bas">
<label for="bas">Baseball</label>↓ Preview
Checkboxes allows the user to select one or more
Select tags
<label for="city">City:</label>
<select name="city" id="city">
    <option value="1">Sydney</option>
    <option value="2">Melbourne</option>
    <option value="3">Cromwell</option>
</select>↓ Preview
A select box is a dropdown list of options
Fieldset tags
<fieldset>
    <legend>Your favorite monster</legend>
    <input type="radio" id="kra" name="m">
    <label for="kraken">Kraken</label><br/>
    <input type="radio" id="sas" name="m">
    <label for="sas">Sasquatch</label>
</fieldset>↓ Preview
Datalist tags(HTML5)
<label for="b">Choose a browser: </label>
<input list="list" id="b" name="browser"/>
<datalist id="list">
  <option value="Chrome">
  <option value="Firefox">
  <option value="Internet Explorer">
  <option value="Opera">
  <option value="Safari">
  <option value="Microsoft Edge">
</datalist>↓ Preview
Submit and Reset Buttons
<form action="register.php" method="post">
  <label for="foo">Name:</label>
  <input type="text" name="name" id="foo">
  <input type="submit" value="Submit">
  <input type="reset" value="Reset">
</form>↓ Preview
Submit the data to server; Reset to default values
HTML input Tags {.cols-2}
Input Attributes {.row-span-2}
The input tag is an empty element, identifying the particular type of field information to obtain from a user.
<input type="text" name="?" value="?" minlength="6"	 required />| - | ||
|---|---|---|
| type="…" | The type of data that is being input | |
| value="…" | Default value | |
| name="…" | Used to describe this data in the HTTP request | |
| id="…" | Unique identifier that other HTML elements | |
| readonly | Stops the user from modifying | |
| disabled | Stops any interaction | |
| checked | The radio or checkbox select or not | |
| required | Being compulsory, See required (opens in a new tab) | |
| placeholder="…" | Adds a temporary, See ::placeholder (opens in a new tab) | |
| autocomplete="off" | Disable auto completion | |
| autocapitalize="none" | Disable auto capitalization | |
| inputmode="…" | Display a specific keyboard, See inputmode (opens in a new tab) | |
| list="…" | The id of an associated datalist (opens in a new tab) | |
| maxlength="…" | Maximum number of characters | |
| minlength="…" | Minimum number of characters | |
| min="…" | Minimum numerical value on range & number | |
| max="…" | Maximum numerical value on range & number | |
| step="…" | How the number will increment in range & number | |
| pattern="…" | Specifies a Regular expression, See pattern (opens in a new tab) | |
| autofocus | Be focused | |
| spellcheck | Perform spell checking | |
| multiple | Whether to allow multiple (opens in a new tab) values | |
| accept="" | Expected file type in file (opens in a new tab) upload controls | |
| {.left-text} | 
Also see: Attributes for the <input> element (opens in a new tab)
Input types
| type="checkbox" | |
| type="radio" | |
| type="file" | |
| type="hidden" | |
| type="text" | |
| type="password" | |
| type="image" | |
| type="reset" | |
| type="button" | Button | 
| type="submit" | 
New Input Types in HTML5
| type="color" | |
| type="date" | |
| type="time" | |
| type="month" | |
| type="datetime-local" | |
| type="week" | |
| type="email" | |
| type="tel" | |
| type="url" | |
| type="number" | |
| type="search" | |
| type="range" | 
Input CSS selectors
| input:focus | When its keyboard focused | 
| See: Input pseudo classes | 
HTML meta Tags {.cols-2}
Meta tags {.row-span-3}
The meta tag describes meta data within an HTML document. It explains additional material about the HTML.
<meta charset="utf-8"><!-- title -->
<title>···</title>
<meta property="og:title"  content="···">
<meta name="twitter:title" content="···"><!-- url -->
<link rel="canonical"       href="https://···">
<meta property="og:url"  content="https://···">
<meta name="twitter:url" content="https://···"><!-- description -->
<meta name="description"         content="···">
<meta property="og:description"  content="···">
<meta name="twitter:description" content="···"><!-- image -->
<meta property="og:image"  content="https://···">
<meta name="twitter:image" content="https://···"><!-- ua -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><!-- viewport -->
<meta name="viewport" content="width=device-width">
<meta name="viewport" content="width=1024">Open Graph
<meta property="og:type" content="website">
<meta property="og:locale" content="en_CA">
<meta property="og:title" content="HTML cheatsheet">
<meta property="og:url" content="https://cheatsheets.zip/html">
<meta property="og:image" content="https://xxx.com/image.jpg">
<meta property="og:site_name" content="Name of your website">
<meta property="og:description" content="Description of this page">Used by Facebook, Instagram, Pinterest, LinkedIn, etc.
Twitter Cards
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@FechinLi">
<meta name="twitter:title" content="HTML cheatsheet">
<meta name="twitter:url" content="https://cheatsheets.zip/html">
<meta name="twitter:description" content="Description of this page">
<meta name="twitter:image" content="https://xxx.com/image.jpg">See: Twitter Card Documentation (opens in a new tab)
Geotagging
<meta name="ICBM" content="45.416667,-75.7">
<meta name="geo.position" content="45.416667;-75.7">
<meta name="geo.region" content="ca-on">
<meta name="geo.placename" content="Ottawa">See: Geotagging (opens in a new tab)