<td><h1><fontFACE="courier"
SIZE=6><fontSIZE=7>W</font>ELCOME
TO MY HOME PAGE!</font></h1></td>

</tr></table>

</div>

<br><br>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hi
there! If you are reading this then you have found my home page!
Congratulations! I know it can be hard to find my pages, but I
bet that you feel lucky now. Now that you are here, please take a look at my page
of links to <aHREF="http://www.mysite.com/coolsites.html">cool
sites</a> or sign my
<aHREF="http://www.mysite.com/guestbook.html">guest
book</a></p>

<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><fontSIZE=6
COLOR="#ffffff">M</font>y
wonderful poetry</b> is available if you are
REALLY bored. Why not give it a spin?</div>

<h2><fontSIZE=7 COLOR="#00ff00">
The Best Poetry I <em><b>NEVER</b></em> Wrote</font></h2>

<ul>

<li>'There Once
Was A Man From Nantucket' - <fontFACE="'comic sans ms', fantasy"
COLOR="#ffff00">Anonymous</font></li>

<div><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<fontSIZE=6
COLOR="#ffffff">W</font>hen you are done looking through these
masterpieces, I encourage you to visit my proud sponsor!!
</b></div>

<tableBGCOLOR="#ffffff" BORDER=2
BORDERCOLOR="#0000ff"><tr>

<tdWIDTH=5>&nbsp;</td>

<td><fontSIZE=6>ADVERTISEMENT</font> Buy Navel Lint Contemplator! Its a browser and
its a sandwich spread! Go to our <aHREF="http://www.navellint.com">home
page</a> without delay! Why? Because shelf
life is only 8 hours unless refrigerated. We know that makes it hard to browse,
but it promotes frequent upgrading to the latest and greatest version.
</td>

</tr></table>

<h6><fontSIZE=1 COLOR="#ff0000">All
standard disclaimers apply. Your life depends on NOT copying this document in
any way. This tape will <aHREF="http://www.mysite.com/selfdestruct.html">self
destruct</a> in 10
seconds...</font></h6>

</body>

</html>

Analysis

Line: GeneralCSS Properties/Issues: NADescription: We lose a lot here when we attempt
to kludge CSS behavior with normal HTML. Most of the attempted solutions use FONT
elements for text formatting and TABLE elements for layout control - with varying degrees
of success. When using plain HTML, at some point you need to recognize that its
display control REALLY is small compared to CSS.

Line:5CSS Properties/Issues:background,
color,
Pseudo-classesDescription: We are using BODY element attributes
to control hyperlink behavior and text/background appearance for the entire
document. The lack of state dependent anchor pseudo-classes in HTML makes
it difficult to create hyperlinks of varying appearance.

Line:6CSS Properties/Issues:background,
font,
font-variant,
borderDescription: In the CSS examples we only use an
H1 in this location. Because we are attempting to create a border on this
content, we must resort to using a TABLE structure. The original H1 element was centered,
so we encapsulate the TABLE in a center-aligned DIV element.

Line:7CSS Properties/Issues:background,
font,
font-variant,
borderDescription: The opening TABLE tag here uses
attributes to partially create the border and background effects used in
the original CSS example. An arbitrary border pixel thickness is used here
(keyword values not supported) while the 'dashed' border behavior in the
CSS version is not possible. Problem: The solution of using the BORDERCOLOR
attribute of the TABLE element has limited browser support.

Line:8CSS Properties/Issues:background,
font,
font-variant,
border,
Pseudo-elementsDescription: We are able to simulate the
'font-variant' and 'font-size' properties with simple HTML. Small caps is
achieved by varying the font size on already capitalized text. The 'line-height'
portion of the 'font' property is not controllable in HTML. Notice we are
able to retain the <H1> heading level of the content here.

Line:12CSS Properties/Issues:margin-left,
Pseudo-elementsDescription: The CSS version of this P element
gives a 'margin-left' value to the first line. This can be simulated fairly
easily in HTML using multiple non-breaking spaces (&nbsp; or &#160;)
This is a fairly portable and safe solution.

Line:13CSS Properties/Issues:font-weight,
margin-left,
font-size,
color,
Pseudo-elementsDescription: The original CSS examples for
this section employ 'first-line' and 'first-letter' pseudo-elements. The
first-letter portion can be manually determined, but the first line is
harder to pin down unless explicitly stated. Our 'font-weight' and 'margin-left' properties used
for the first line have fair equivalents in HTML: the <b> element and
non-breaking spaces (see previous analysis point.) HTML only has an on/off
toggle for applying bold to text, so we are lucky that the original case
only used this method as well. The styling on the first-letter is again achieved
through attributes to the FONT element.

Line:14CSS Properties/Issues:background,
color,
line-height,
font-size,
font-weight,
Contextual SelectorsDescription: The original CSS phrase for the H2 element
is not easy to duplicate in HTML. Line-height and backgrounds for regular elements
are not controllable in HTML, while the explicit font-size originally used can
only be approximated with the FONT element (which is also used to create the text
coloring here.) The nested EM element uses the font-weight property. As mentioned
in the previous analysis point, HTML only has one bold setting, not the 9 that
are possible under CSS. We use <B> here, and while this gradient range is
not as rich as what CSS allows, it gives enough visual distinction from
surrounding content to be satisfactory.

Line:16 /
17 / 21 / 27CSS Properties/Issues:font-family,
colorDescription: We are lucky in these examples
that the only properties originally used control text color and font family,
because they are easily controlled currently with the FONT element in HTML.

Line:20CSS Properties/Issues:font-size,
font-styleDescription: Again we lucked out in regards to the
original example. The original case used the 'font-size' and 'font-style'
properties with values that are easily converted to HTML. These properties,
as well as most of the others, allow other values that are not as easily
converted to plain HTML. This is where the real power of CSS over HTML
for specifying layout information becomes apparent.

Line:24CSS Properties/Issues:backgroundDescription: We again resort to the use of tables
to achieve the desired layout characteristics here. The original container
in the CSS examples was the BLOCKQUOTE element, which we lose here in order to create the desired
formatting. This is THE most frequent tradeoff when using HTML to layout
content - loss of structural meaning. Using tables we DO achieve, however,
the ability to manipulate background colors, borders and a small degree of
margin control.

Line:25CSS Properties/Issues:margin-leftDescription: Here we use an initial table cell
in the row to create a fixed-width left margin of 50 pixels. Our original
unit measure was centimeters, so the value used is approximate only.

Line:26CSS Properties/Issues:colorDescription: We assign the text color information
for the original BLOCKQUOTE element here at the cell level using the FONT element.

Line:27CSS Properties/Issues:font-family,
color,
padding,
borderDescription: Our original CSS version contains
complex padding and border properties to the 'Joe Shmoe' text section. Neither
of these properties are fully possible with ordinary HTML even when resorting
to complex table structures. Rather than make the document even more complex,
we settle for a simple underlining effect.

Line:29CSS Properties/Issues:background,
font-weight,
margin-left,
font-size,
colorDescription: Originally we had a background on
this element in the CSS version, but that is not possible with HTML. We
ignore it in this case. We do have the advantage again of being able to kludge
'first-letter' property effects using the FONT element, and our 'margin-left'
and 'font-weight' properties similarly degrade nicely to non-breaking spaces
and <B> elements respectively.

Line:30CSS Properties/Issues:border,
backgroundDescription: We go back to the well again with
the over-used solution of HTML tables to create equivalent display effects.
This time we are not so lucky. Many of the original properties used do not
degrade well to HTML layout attempts. Our original example had numerous display
properties assigned to the P element, but we are going to lose some: font line-height
and generic font names disappear. Precise four-side margin control is also out.
We also lose element background image placement and positioning too. What we end
up salvaging is the border-style, -size and -color behaviors at the TABLE level.

Line:31CSS Properties/Issues:marginDescription: We use the initial cell of the row
to again create a left margin effect. Fortunately, the units originally used
and those possible with HTML are compatible in this example.

Line:32CSS Properties/Issues:font,
font-variantDescription: Our 'ADVERTISEMENT:' banner
originally had many additional style property assignments (font, font-variant,
border), most of which can not be achieved using ordinary HTML. We resort
to just making the text big in this case.

Line:34CSS Properties/Issues:font-size,
colorDescription: FONT attributes are used here as in
many of the other parts of this example to achieve equivalent display
characteristics of the original CSS properties.