There is a most recent version of this.

Contents

  1. Contents
  2. Character References
  3. XHTML 1.1 and Basic
  4. HTML 4.01
  5. Tips
  6. CSS

Character References

“ and ” (Real Quotes)
“ and ”
’ (Apostrophie)
’ (‘ is the complement (‘)
… (Elipsis)
…
‐ (Real Hyphen)
‐
‑ (Non-Breaking Hyphen)
‑
− (Real Minus Sign)
−
– (EN Dash (A range (a "to" substitute)))
–
— (EM Dash (Comma like))
—
  (No-break Space)
 
é (acute e)
é
ü (u with diaeresis (umlaut))
ü
‽ (Interobang)
‽
¼, ½, ¾ (Quarters (Vulgar Fractions))
¼, ½, ¾
⅛, ⅜, ⅝, ⅞ (Eighths (Vulgar Fractions))
⅛, ⅜, ⅝, ⅞
⅓, ⅔ (Thirds (Vulgar Fractions))
ࡩ, ⅔
⅙, ⅚ (Sixths (Vulgar Fractions))
⅙, ⅚
⅕, ⅖, ⅗, ⅘ (Fifths (Vulgar Fractions))
⅕, ⅖, ⅗, ⅘
° (Degrees)
°
℉, ℃ (Degrees Fahrenheit and Celsius)
℉, ℃
Ⅰ - Ⅻ (Roman Numerals (first dozen))
Ⅰ - Ⅻ
℅ (Care Of)
℅
฿ (Thai Baht)
฿
₭ (Laos Kip)
₭

XHTML 1.1 and Basic

Real XML applications should start with one of the following headings.

Basic
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
Full
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">

HTML 4.01

If we have to…

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">

Tips

html & body box properties should be left alone.

They mean different things to different browsers, and I don't thik any (even M1.1) are right. Just assume html doesn't exist and body can only be used to define a background and padding.

For body:

  • margins should probably be set to 0 since IE5 doesn't have them (looks more like padding)
  • borders not used since IE5 botches them (they're fixed to the viewport).
Only positioned (position property not static (i.e. relative, absolute, fixed) (or the initial containing (should be html but IE5 thinks it's body)) blocks are containing for positioning.

It goes that:

In CSS2, many box positions and sizes are calculated with respect to the edges of a rectangular box called a containing block. In general, generated boxes act as containing blocks for descendant boxes; we say that a box "establishes" the containing block for its descendants. The phrase "a box's containing block" means "the containing block in which the box lives," not the one it generates.

But…

Relatively positioned boxes keep their normal flow size, including line breaks and the space originally reserved for them. A relatively positioned box establishes a new a new containing block for normal flow children and positioned descendants.

and

In the absolute positioning model, a box is explicitly offset with respect to its containing block. It is removed from the normal flow entirely (it has no impact on later siblings). An absolutely positioned box establishes a new containing block for normal flow children and positioned descendants. However, the contents of an absolutely positioned element do not flow around any other boxes. They may or may not obscure the contents of another box, depending on the stack levels of the overlapping boxes.

And very important is this followig definition.

An element is said to be positioned if its 'position' property has a value other than 'static'. Positioned elements generate positioned boxes, laid out according to four properties: [top, right, bottom, left]

CSS