Skip to content Skip to navigation

Connexions

You are here: Home » Content » HTML5

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

In these lenses

  • HTML-CSS display tagshide tags

    This module is included inLens: HTML, XHTML and CSS
    By: Hannes Hirzel

    Click the "HTML-CSS" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

HTML5

Module by: Hannes Hirzel. E-mail the author

Summary: HTML5 is the fifth revision of the HTML standard. It provides various enhancements and is still work in progress. This module provides links to information about HTML5 which lead you into the topic in-depth.

Introduction

The structure of a HTML5 document may be simpler than that of a HTML4 document. There is only one document type <!DOCTYPE html>. Older browsers interpret this fine as they do not know about the HTML5 document type and try to do the best they can to render the page. Newer browsers know how to interpret HTML5.

The Web Hypertext Application Technology Working Group (WHATWG) does not speak of HTML5. They call it just HTML without a version number.

Minimal document

<!DOCTYPE html>
<html>
<head>
<title>The title of the document</title>
</head>

<body>
The text ...
</body>

</html> 

Simple correct HTML5 template (http://www.w3.org/TR/html5/semantics.html#semantics)

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>The title of the document</title>
</head>

<body>
The text ...
</body>

</html> 

The same as above but in XHTML syntax

HTML5 with CSS and JavaScript

In the strict sense HTML5 is the follow-up specification to HTML4. But people often mean more when they talk about HTML5. Extended functions of CSS (CSS3) and JavaScript (ECMAscript version 5) are included. With this it is possible to write complete web applications in one file.

Minimal template with CSS and JavaScript

<?xml version="1.0" encoding="UTF-8"?>
<html xml:lang="en" lang="en">
<head>

<style><![CDATA[

h1   {color: red;
     }

]]>
</style>



</head>


<body>

<h1>Beverages</h1>
<ul id="beverages">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<span id="note"></span>


<script>
<![CDATA[


// JavaScript statements
// This will be evaluated after the document has been loaded
// making it possible to easily access DOM elements.

var list = document.getElementById("beverages");
var listlength = list.children.length;
console.log(listlength);
var note = document.getElementById("note");
console.dir(note);
note.textContent = listlength + " types of beverages";
 

]]>
</script>


</body>
</html>

Template in XHTML5 syntax demonstrating access to a DOM element

View the XHTML5 template locally

View the template in your browser. You then may save it and start changing it. Make sure it has the file extension .xhtml for IE9 to display a local file in IE9 mode. In addition Firefox and Opera still display it properly if the file name extension is .xml.

Comments

  • The document starts with a declaration that it is encoded as an XML file.
  • The root element is an <html>...</html> node. It has two daughter nodes: <head>...</head> and <body>...</body>.
  • The head contains the style information. It is contained in <style type="text/css">...</style>.
  • The actual data to be displayed is in the body part.
  • The CDATA tells the XML parser to treat the following code as data. This means that wedges (<>) should not be considered
  • The JavaScript code shows the method getElementById to access the Document Object Model (DOM). All HTML elements are accessible this way.
  • The JavaScript code is executed once at the end of loading the file.
  • The children method gives back all HTML elements of a particular parent HTML Element.
  • console.log(listlength) and console.dir(note) may be used for debugging purposes. The output will be displayed on the console accessible for example in Firefox 9 through 'Tools'/'Web Developer'/'Web Console'. Other browsers have similar tools.
  • This example contains all the CSS and JavaScript code. Most often this code is put into two separate files. Then two links in the main HTML file connect to them.

Display in Firefox 9 with web console opened

Web console with minimal sample XHTML5 file

MSDN about IE9

MSDN: "Adding a <!DOCTYPE> pointing to an XHTML DTD does NOT influence whether a page is treated as HTML or XHTML. XHTML support for files on the web can only be triggered by the MIME type of the response from the web server. This is true both in IE9 and other browsers. This MIME type should be "application/xhtml+xml" (though you can technically use any supported XML mime type). Local files with ".xht" or ".xhtml" extensions will also be opened as XHTML".

More on DOM access

Document Object Model

Further Reading

HTML5 in action

First chapter of Robert Crowther, Joe Lennon, and Ash Blue, HTML5 in Action, Manning, August 2012 (estimate).

Comparison to other technologies

2011 - The Year HTML5 Won

Dive into HTML 5

on-line book by Mark Pilgrim; CC-BY-3.0; updated fork; published on paper by O’Reilly.

Extended version of the template

Module anonymous functions has an example where a button is added to the XHTML template given in this module.

XHTML5 editor

There are many editors for creating XHTML5 files. Netbeans for example may be used for this.

HTML5 please

A web site with recommendations which HTML5 features are ready for use and under which conditions.

HTML5 test

This web site has a browser feature detection test as well as references to the W3C standard for every feature.

Further reading specific topics

Local storage

HTML5 capable browsers have added a new local storage facility which allows to save data between subsequent visits of a web page. This feature is similar to cookies but with more storage capacity and it is better accessible.

How to write a game

A tutorial which shows http://html5center.sourceforge.net/how-to-write-a-brikbloc-game-with-html5-svg-and-canvas

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks