Useful google terms:

xhtml css javascript tutorial standard reference w3c wiki validator (obviously not all at the same time)

doctype and html tag boilerplate for XHTML strict:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

doctype and html tag boilerplate for XHTML transitional:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

external stylesheet link:

<link rel="stylesheet" type="text/css" href="mystyles.css" />

embedded javascript:

        <style type='text/css'>
                body {font-family: Arial, Verdana, sans-serif ; font-size: large;}
        </style>

external javascript link:

<script type="text/javascript" src="./js/thisLocale.js"/>gt;

embedded javascript:

        <script type='text/javascript'>
        <!--
                alert('hello, world');
        // -->
        </script>

xhtml tags of interest:

html head meta title script style body div p br img ol ul li h1 h2 h3 h4 h5 a span form input submit select textarea

xhtml attributes of interest:

id class

css properties of interest:

font-face font-size font-weight color margin padding width height float clear background-color text-decoration border border-color border-style border-spacing border-width line-height position position-left position-top

useful javascript utility DHMTL functions:

function getERef(name) { return top.document.getElementById(name); }

function getEProp(name,property) { return top.document.getElementById(name).style[property]; }

function setEProp(name,property,value) { top.document.getElementById(name).style[property] = value; }

function setEContent(name,content) { top.document.getElementById(name).innerHTML=content; }

dynamic table example:

function insRow() {
        var x=document.getElementById('result');
        var xrows=x.rows;
        var afterRow=xrows.length-1;
        var rowID=xrows.length-2;
        var newrow = x.insertRow(afterRow);
        var emailCell = newrow.insertCell(0);
        var givenCell = newrow.insertCell(1);
        var familyCell = newrow.insertCell(2);
        emailCell.innerHTML = "<input class='big' type='text' name='E"+rowID+"'/>";
        givenCell.innerHTML = "<input class='short' type='text' name='F"+rowID+"'/>";
        familyCell.innerHTML = "<input class='short' type='text' name='L"+rowID+"'/>";
}