Skip to content

Instantly share code, notes, and snippets.

@jonjaques
Created July 5, 2012 21:33
Show Gist options
  • Save jonjaques/3056610 to your computer and use it in GitHub Desktop.
Save jonjaques/3056610 to your computer and use it in GitHub Desktop.
HTML5 Element Page
<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
Remove this if you use the .htaccess -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Element Consistency Tests</title>
<meta name="description" content="">
<meta name="author" content="">
<!-- Mobile viewport optimized: j.mp/bplateviewport -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<!-- Place favicon.ico and apple-touch-icon.png in the root directory: mathiasbynens.be/notes/touch-icons -->
<!-- CSS: implied media=all -->
<link rel="stylesheet" href="../css/style.css">
<style>
/* box-sizing test */
#boxsize button,
#boxsize input,
#boxsize select,
#boxsize textarea {
width: 200px;
padding: 4px;
border: 1px solid #333;
}
</style>
<!-- All JavaScript at the bottom, except for Modernizr / Respond.
Modernizr enables HTML5 elements & feature detects; Respond is a polyfill for min/max-width CSS3 Media Queries
For optimal performance, use a custom Modernizr build: www.modernizr.com/download/ -->
<script src="../js/libs/modernizr-2.0.6.min.js"></script>
</head>
<body>
<div id="container">
<!--
demo content lovingly lifted from the azbuka project
http://code.google.com/p/azbuka/
and the bluetrip project
http://bluetrip.org/
and the normalize.css project
http://github.com/necolas/normalize.css
and peter beverloo
http://peter.sh/examples/?/html/meter-progress.html
-->
<header>
<hgroup>
<h1>Grouped Heading 1</h1>
<h2>Grouped Heading 2</h2>
</hgroup>
<nav>
<ul>
<li><a href="#">navigation item #1</a></li>
<li><a href="#">navigation item #2</a></li>
<li><a href="#">navigation item #3</a></li>
</ul>
</nav>
</header>
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
<section>
<h1>Section Heading 1</h1>
<article>
<h4>Article Heading 2</h4>
<address>Address: somewhere, world</address>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m.</p>
</article>
</section>
<h1>Text-level semantics</h1>
<p>
The <a href="#">a element</a> example<br>
The <abbr title="Title text">abbr element</abbr> example<br>
The <b>b element</b> example<br>
The <cite>cite element</cite> example<br>
The <code>code element</code> example<br>
The <del>del element</del> example<br>
The <dfn>dfn element</dfn> example<br>
The <em>em element</em> example<br>
The <i>i element</i> example<br>
The img element <img src="http://placekitten.com/16/16" alt=""> example<br>
The <ins>ins element</ins> example<br>
The <kbd>kbd element</kbd> example<br>
The <mark>mark element</mark> example<br>
The <q>q element <q>inside</q> a q element</q> example<br>
The <s>s element</s> example<br>
The <samp>samp element</samp> example<br>
The <small>small element</small> example<br>
The <span>span element</span> example<br>
The <strike>strike element</strike> example<br>
The <strong>strong element</strong> example<br>
The <sub>sub element</sub> example<br>
The <sup>sup element</sup> example<br>
The <var>var element</var> example<br>
The <u>u element</u> example
</p>
<h1>Embedded content</h1>
<h3>img</h3>
<img src="http://placekitten.com/100/100" alt="">
<a href="#"><img src="http://placekitten.com/100/100" alt=""></a>
<h3>svg</h3>
<svg style="width:100px; height:100px;"><circle cx="100" cy="100" r="100" fill="#ff0000"></svg>
<h1>Grouping content</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et m.</p>
<h3>pre</h3>
<pre>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et me.</pre>
<pre><code>&lt;html>
&lt;head>
&lt;/head>
&lt;body>
&lt;div class="main"> &lt;div>
&lt;/body>
&lt;/html></code></pre>
<h3>blockquote</h3>
<blockquote>
<p>Some sort of famous witty quote marked up with a &lt;blockquote> and a child &lt;p> element.</p>
</blockquote>
<blockquote>Even better philosophical quote marked up with just a &lt;blockquote> element.</blockquote>
<h3>ordered list</h3>
<ol>
<li>list item 1</li>
<li>list item 1
<ol>
<li>list item 2</li>
<li>list item 2
<ol>
<li>list item 3</li>
<li>list item 3</li>
</ol>
</li>
<li>list item 2</li>
<li>list item 2</li>
</ol>
</li>
<li>list item 1</li>
<li>list item 1</li>
</ol>
<h3>unordered list</h3>
<ul>
<li>list item 1</li>
<li>list item 1
<ul>
<li>list item 2</li>
<li>list item 2
<ul>
<li>list item 3</li>
<li>list item 3</li>
</ul>
</li>
<li>list item 2</li>
<li>list item 2</li>
</ul>
</li>
<li>list item 1</li>
<li>list item 1</li>
</ul>
<h3>description list</h3>
<dl>
<dt>Description name</dt>
<dd>Description value</dd>
<dt>Description name</dt>
<dd>Description value</dd>
<dd>Description value</dd>
<dt>Description name</dt>
<dt>Description name</dt>
<dd>Description value</dd>
</dl>
<h3>figure</h3>
<figure>
<img src="http://placekitten.com/400/200" alt="">
<figcaption>Figcaption content</figcaption>
</figure>
<h1>Tablular data</h1>
<table summary="Jimi Hendrix albums">
<caption>
Jimi Hendrix - albums
</caption>
<thead>
<tr>
<th>Album</th>
<th>Year</th>
<th>Price</th>
</tr>
</thead>
<tfoot>
<tr>
<td>Album</td>
<td>Year</td>
<td>Price</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>Are You Experienced</td>
<td>1967</td>
<td>$10.00</td>
</tr>
<tr>
<td>Axis: Bold as Love</td>
<td>1967</td>
<td>$12.00</td>
</tr>
<tr>
<td>Electric Ladyland</td>
<td>1968</td>
<td>$10.00</td>
</tr>
<tr>
<td>Band of Gypsys</td>
<td>1970</td>
<td>$12.00</td>
</tr>
</tbody>
</table>
<h1>Forms</h1>
<form>
<fieldset>
<legend>Inputs as descendents of labels (form legend)</legend>
<p><label>Text input <input type="text" value="value"></label></p>
<p><label>Text input (required) <input type="text" required></label></p>
<p><label>Text input (with pattern requirement and placeholder) <input type="text" pattern="\d{5}(-\d{4})?" title="a US Zip code, with or without the +4 exension" placeholder="12345-6789"></label></p>
<p><label>Email input <input type="email"></label></p>
<p><label>Search input <input type="search"></label></p>
<p><label>Tel input <input type="tel"></label></p>
<p><label>URL input <input type="url" placeholder="http://"></label></p>
<p><label>Password input <input type="password" value="password"></label></p>
<p><label>File input <input type="file"></label></p>
<p><label>Radio input <input type="radio" name="rad"></label></p>
<p><label>Checkbox input <input type="checkbox"></label></p>
<p><label><input type="radio" name="rad"> Radio input</label></p>
<p><label><input type="checkbox"> Checkbox input</label></p>
<p><label>Select field <select><option>Option 01</option><option>Option 02</option></select></label></p>
<p><label>Textarea <textarea cols="30" rows="5" >Textarea text</textarea></label></p>
</fieldset>
<fieldset>
<legend>Inputs as siblings of labels</legend>
<p><label for="ic">Color input</label> <input type="color" id="ic"></p>
<p><label for="in">Number input</label> <input type="number" id="in" min="0" max="10"></p>
<p><label for="ir">Range input</label> <input type="range" id="ir"></p>
<p><label for="idd">Date input</label> <input type="date" id="idd"></p>
<p><label for="idm">Month input</label> <input type="month" id="idm"></p>
<p><label for="idw">Week input</label> <input type="week" id="idw"></p>
<p><label for="idt">Datetime input</label> <input type="datetime" id="idt"></p>
<p><label for="idtl">Datetime-local input</label> <input type="datetime-local" id="idtl"></p>
<p><label for="irb">Radio input</label> <input type="radio" id="irb" name="rad"></p>
<p><label for="icb">Checkbox input</label> <input type="checkbox" id="icb"></p>
<p><input type="radio" id="irb2" name="rad"> <label for="irb2">Radio input</label></p>
<p><input type="checkbox" id="icb2"> <label for="icb2">Checkbox input</label></p>
<p><label for="s">Select field</label> <select id="s"><option>Option 01</option><option>Option 02</option></select></p>
<p><label for="t">Textarea</label> <textarea id="t" cols="30" rows="5" >Textarea text</textarea></p>
</fieldset>
<fieldset>
<legend>Clickable inputs and buttons</legend>
<p><input type="image" src="http://placekitten.com/90/24" alt="Image (input)"></p>
<p><input type="reset" value="Reset (input)"></p>
<p><input type="button" value="Button (input)"></p>
<p><input type="submit" value="Submit (input)"></p>
<p><button type="reset">Reset (button)</button></p>
<p><button type="button">Button (button)</button></p>
<p><button type="submit">Submit (button)</button></p>
</fieldset>
<fieldset id="boxsize">
<legend>box-sizing tests</legend>
<div><input type="text" value="text"></div>
<div><input type="email" value="[email protected]"></div>
<div><input type="search" value="search"></div>
<div><input type="url" value="http://"></div>
<div><input type="password" value="password"></div>
<div><input type="color"></div>
<div><input type="number"></div>
<div><input type="range"></div>
<div><input type="date"></div>
<div><input type="month"></div>
<div><input type="week"></div>
<div><input type="datetime"></div>
<div><input type="datetime-local"></div>
<div><input type="radio"></div>
<div><input type="checkbox"></div>
<div><select><option>Option 01</option><option>Option 02</option></select></div>
<div><textarea cols="30" rows="5" >Textarea text</textarea></div>
<div><input type="image" src="http://placehold.it/90x24" alt="Image (input)"></div>
<div><input type="reset" value="Reset (input)"></div>
<div><input type="button" value="Button (input)"></div>
<div><input type="submit" value="Submit (input)"></div>
<div><button type="reset">Reset (button)</button></div>
<div><button type="button">Button (button)</button></div>
<div><button type="submit">Submit (button)</button></div>
</fieldset>
</form>
<!-- thx peter beverloo: http://peter.sh/examples/?/html/meter-progress.html -->
<p id="no-support" style="color: red; margin-bottom: 12px;">
Your browser does not support these elements yet! Consider downloading a <a href="http://tools.peter.sh/download-latest-chromium.php">Chromium Nightly</a>.<br />
</p>
<h1>&lt;progress&gt;</h1>
<p>
The progress element (spec: <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-progress-element">4.10.16</a>) represents the completion progress of a task and can be both indeterminate as determinate.
</p>
<ul class="compact">
<li>
<label>Indeterminate</label>
<progress max="100"></progress>
</li>
<li>
<label>Progress: 0%</label>
<progress max="10" value="0"></progress>
</li>
<li>
<label>Progress: 100%</label>
<progress max="3254" value="3254"></progress>
</li>
<li>
<label>Progress: 57%</label>
<progress max="0.7" value="0.4"></progress>
</li>
<li>
<label>Javascript</label>
<progress id="progress-javascript-example"></progress>
</li>
</ul>
<h1>&lt;meter&gt;</h1>
<p>
Displaying a scalar measurement within a known range, like hard drive usage, can be done using the meter element (spec: <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-meter-element">4.10.17</a>)
</p>
<ul class="compact">
<li>
<label>Meter: empty</label>
<meter value="0"></meter>
</li>
<li>
<label>Meter: full</label>
<meter value="1"></meter>
</li>
<li>
<label>Meter: "a bit"</label>
<meter min=".34" max=".41" value=".36"></meter>
</li>
<li>
<label>Preferred usage</label>
<meter min="50" max="250" low="100" high="200" value="120"></meter>
</li>
<li>
<label>Too much traffic</label>
<meter min="1024" max="10240" low="2048" high="8192" value="9216"></meter>
</li>
<li>
<label>Optimum value</label>
<meter value=".5" optimum=".8"></meter>
</li>
<li>
<label>Javascript</label>
<meter id="meter-javascript-example" value="0"></meter>
</li>
</ul>
<script>
(function () {
if (! ("position" in document.createElement ("progress"))) {
var elements = document.querySelectorAll ("meter, progress");
for (var i = 0, j = elements.length; i < j; i++) {
elements [i].style.border = "1px solid red";
elements [i].style.height = "12px";
elements [i].style.display = "inline-block";
elements [i].style.webkitAppearance = "none";
}
return ;
}
document.getElementById ("no-support").style.display = "none";
/** Setup the <progress> JavaScript example **/
var progressExample = document.getElementById ("progress-javascript-example");
progressExample.min = 50;
progressExample.max = 122;
setInterval (function () {
progressExample.value = progressExample.min + Math.random () * (progressExample.max - progressExample.min);
}, 1000);
/** We'd like some fancy <meter> examples too **/
var meterExample = document.getElementById ("meter-javascript-example");
meterExample.min = 0;
meterExample.max = 100;
meterExample.value = 50;
meterExample.low = 20;
meterExample.high = 80;
meterExample.optimum = 65;
setInterval (function () {
meterExample.value = meterExample.min + Math.random () * (meterExample.max - meterExample.min);
meterExample.optimum = 65 + (5 - Math.random () * 10);
}, 1000);
})();
</script>
</div> <!--! end of #container -->
<!-- Javascript at the bottom for fast page loading -->
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../js/libs/jquery-1.6.4.min.js"><\/script>')</script>
<!-- scripts concatenated and minified via ant build script-->
<script defer src="../js/plugins.js"></script>
<script defer src="../js/script.js"></script>
<!-- end scripts-->
<!-- Asynchronous Google Analytics snippet. Change UA-XXXXX-X to be your site's ID.
mathiasbynens.be/notes/async-analytics-snippet -->
<script>
var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview'],['_trackPageLoadTime']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.
chromium.org/developers/how-tos/chrome-frame-getting-started -->
<!--[if lt IE 7 ]>
<script defer src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
<script defer>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
<![endif]-->
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment