| |
A Beginner's Course in HTML
Author: Ronald Reed
Acknowledgements are Presented in Part 1
This Part is Currently Under Development
Part 1 |
Part 2 |
Part 3
of 3 Parts
|
Part 3 contains the following sections:
|
Inline Images
Most Web browsers can display inline images (that is, images next to
text) that are in X Bitmap (XBM), GIF, or JPEG format. Other image
formats are also being incorporated into Web browsers [e.g., the
Portable Network Graphic (PNG) format]. Each image takes additional time
to download and slows down the initial display of a document. Carefully
select your images and the number of images in a document.
To include an inline image, enter:
<IMG SRC=ImageName>
where ImageName is the URL of the image file.
The syntax for <IMG SRC> URLs is identical to that used
in an anchor HREF . If the image file is a GIF file, then the
filename part of ImageName must end with .gif .
Filenames of X Bitmap images must end with .xbm ; JPEG image
files must end with .jpg or .jpeg ; and Portable
Network Graphic files must end with .png .
|
Image Size Attributes
You should include two other attributes on <IMG> tags to
tell your browser the size of the images it is downloading with the
text. The HEIGHT and WIDTH attributes let your browser
set aside the appropriate space (in pixels) for the images as it
downloads the rest of the file. (You can get the pixel size from your
image-processing software, such as Adobe Photoshop. Some browsers
will also display the dimensions of an image file in the title bar
if the image is viewed by itself without an enclosing HTML document.)
For example, to include a self portrait image in a file along with the
portrait's dimensions, enter:
<IMG SRC=SelfPortrait.gif HEIGHT=100 WIDTH=65>
NOTE: Some browsers use the HEIGHT and WIDTH
attributes to stretch or shrink an image to fit into the allotted space
when the image does not exactly match the attribute numbers. Not all
browser developers think stretching/shrinking is a good idea, so don't
plan on your readers having access to this feature. Check your
dimensions and use the correct ones.
|
Alternate Text for Images
Some World Wide Web browsers -- primarily the text-only browsers such as
Lynx -- cannot display images. Some
users turn off image loading even if their software can display images
(especially if they are using a modem or have a slow connection). HTML
provides a mechanism to tell readers what they are missing on your
pages if they can't load images.
The ALT attribute lets you
specify text to be displayed instead of an image. For example:
<IMG SRC="UpArrow.gif" ALT="Up">
where UpArrow.gif is the picture of an upward pointing arrow.
With graphics-capable viewers that have image-loading turned on, you see
the up arrow graphic. With a text-only browser or if image-loading is turned
off, the word Up is shown in your window in place of the image.
You should try to include alternate text for each image you use in your
document, which is a courtesy for your readers -- or, for users who
might be visually impaired, a necessity.
|
Images as Hyperlinks
Inline images can be used as hyperlinks just like plain text.
The following HTML code:
<A HREF="hotlist.html">
<IMG SRC="http://www.passco.com/barhotlist.gif" ALT="[HOTLIST]"></A>
Produces the following result:
(Note that this link doesn't actually go anywhere.)
The blue border that surrounds the image indicates that it's a clickable
hyperlink. You may not always want this border to be displayed, though.
In this case you can use the BORDER attribute of the IMG tag to make the
image appear as normal. Adding the BORDER attribute and setting it to zero:
<A HREF="hotlist.html">
<IMG SRC="http://www.passco.com/barhotlist.gif" BORDER=0 ALT="[HOTLIST]">
</A>
Produces the following result:
The BORDER attribute can also be set to non-zero values, whether or
not the image is used as a hyperlink. In this case, the border will appear
using the default text color for the web page.
For instance, if you wanted to give your image a plain black border to help
it stand out on the page, you might try this:
<IMG SRC="http://www.passco.com/barhotlist.gif" BORDER=6 ALT="[HOTLIST]">
And get the following result:
|
Background Graphics
Newer versions of Web browsers can load an image and use it as a
background when displaying a page. Some people like background images
and some don't. In general, if you want to include a background, make
sure your text can be read easily when displayed on top of the image.
Background images can be a texture (linen finished paper, for example)
or an image of an object (a logo possibly). You create the background
image as you do any image.
However you only have to create a small piece of the image. Using a
feature called tiling, a browser takes the image and repeats it across
and down to fill your browser window. In sum you generate one image, and
the browser replicates it enough times to fill your window. This action
is automatic when you use the background tag shown below.
The tag to include a background image is included in the
<BODY> statement as an attribute:
<BODY BACKGROUND="filename.gif">
|
Background Color
By default browsers display text in black on a gray background. However,
you can change both elements if you want. Some HTML authors select a
background color and coordinate it with a change in the color of the
text.
Always preview changes like this to make sure your pages are readable.
(For example, many people find red text on a black background difficult
to read!) In general, try to avoid using high-contrast images or images
that use the color of your text anywhere within the graphic.
You change the color of text, links, visited links, and active links (links
that are currently being clicked on) using further attributes of the
<BODY> tag. For example:
<BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#9690CC">
This creates a window with a black background ( BGCOLOR ), white text
( TEXT ), and silvery hyperlinks ( LINK ).
The six-digit number and letter combinations represent colors by giving
their RGB (red, green, blue) value. The six digits are actually three
two-digit numbers in sequence, representing the amount of red, green, or
blue as a hexadecimal value in the range 00-FF. For example, 000000 is
black (no color at all), FF0000 is bright red, 0000FF is bright blue,
and FFFFFF is white (fully saturated with all three colors).
These number and letter combinations are generally rather cryptic.
Fortunately an online resource is available to help you track down the
combinations that map to specific colors and there is software available
for you to do this on your workstation:
For some basic colors -- typically those in the standard
sixteen-color Windows 3.1 palette -- you can also use the name of the
color instead of the corresponding RGB value. For example, "black",
"red", "blue", and "cyan" are all valid for use in place of RGB values.
However, while not all browsers will understand all color names, any
browser that can display colors will understand RGB values, so use
them whenever possible.
|
External Images, Sounds, and Animations
You may want to have an image open as a separate document when a user
activates a link on either a word or a smaller, inline version of
the image included in your document. This is called an external
image, and it is useful if you do not wish to slow down the loading of
the main document with large inline images.
To include a reference to an external image, enter:
<A HREF="MyImage.gif">link anchor</A>
You can also use a smaller image as a link to a larger image. Enter:
<A HREF="LargerImage.gif"><IMG SRC="SmallImage.gif"></A>
The reader sees the SmallImage.gif image and clicks on it to
open the LargerImage.gif file.
Use the same syntax for links to external animations and sounds.
The only difference is the file extension of the linked file. For example,
<A HREF="AdamsRib.mov">link anchor</A>
specifies a link to a QuickTime movie. Some common file types and their
extensions are:
- plain text
- .txt
- HTML document
- .html
- GIF image
- .gif
- TIFF image
- .tiff
- X Bitmap image
- .xbm
- JPEG image
- .jpg or .jpeg
- PostScript file
- .ps
- AIFF sound file
- .aiff
- AU sound file
- .au
- WAV sound file
- .wav
- QuickTime movie
- .mov
- MPEG movie
- .mpeg or .mpg
Keep in mind your intended audience and their access to software. Most UNIX
workstations, for instance, cannot view QuickTime movies.
|
Tables
Before HTML tags for tables were finalized, authors had to carefully
format their tabular information within <PRE> tags,
counting spaces and previewing their output. Tables are very useful for
presentation of tabular information as well as a boon to creative HTML
authors who use the table tags to present their regular Web pages.
(Check out the NCSA home page for an excellent example of using tables to control page layout.)
Think of your tabular information in light of the coding explained
below. A table has heads where you explain what the columns/rows
include, rows for information, cells for each item. In the following
table, the first column contains the header information, each row
explains an HTML table tag, and each cell contains a paired tag or an
explanation of the tag's function.
|
|
| Element |
Description |
|
<TABLE> ... </TABLE> |
defines a table in HTML. If the BORDER attribute is
present, your browser displays the table with a border.
|
| <CAPTION> ... </CAPTION> |
defines the caption for the title of the table. The default position
of the title is centered at the top of the table. The attribute
ALIGN=BOTTOM can be used to position the caption below the
table.
NOTE: Any kind of markup tag can be used in the caption.
|
| <TR> ... </TR> |
specifies a table row within a table. You may define default
attributes for the entire row: ALIGN ( LEFT ,
CENTER , RIGHT ) and/or VALIGN ( TOP ,
MIDDLE , BOTTOM ). See Table Attributes at the end of
this table for more information.
|
| <TH> ... </TH> |
defines a table header cell. By default the text in this cell is
bold and centered. Table header cells may contain other attributes to
determine the characteristics of the cell and/or its contents. See Table
Attributes at the end of this table for more information.
|
| <TD> ... </TD> |
defines a table data cell. By default the text in this cell is
aligned left and centered vertically. Table data cells may contain other
attributes to determine the characteristics of the cell and/or its
contents. See Table Attributes at the end of this table for more
information.
|
|
|
|
NOTE: Attributes defined within <TH> ...
</TH> or <TD> ... </TD>
cells override the default alignment set in a <TR> ...
</TR> .
|
|
Attribute
|
Description
|
|
ALIGN (LEFT, CENTER, RIGHT)
|
Horizontal alignment of a cell.
|
|
VALIGN (TOP, MIDDLE, BOTTOM)
|
Vertical alignment of a cell.
|
|
COLSPAN= n
|
The number (n ) of columns a cell spans.
|
|
ROWSPAN= n
|
The number (n ) of rows a cell spans.
|
| NOWRAP |
Turn off word wrapping within a cell. |
|
General Table Format
The general format of a table looks like this:
<TABLE>
<!-- start of table definition -->
<CAPTION> caption contents </CAPTION>
<!-- caption definition -->
<TR>
<!-- start of header row definition -->
<TH> first header cell contents </TH>
<TH> last header cell contents </TH>
</TR>
<!-- end of header row definition -->
<TR>
<!-- start of first row definition -->
<TD> first row, first cell contents </TD>
<TD> first row, last cell contents </TD>
</TR>
<!-- end of first row definition -->
<TR>
<!-- start of last row definition -->
<TD> last row, first cell contents </TD>
<TD> last row, last cell contents </TD>
</TR>
<!-- end of last row definition -->
</TABLE>
<!-- end of table definition -->
You can cut-and-paste the above code into your own HTML documents, adding
new rows or cells as necessary. The above example looks like
this when rendered in a browser.
The <TABLE> and </TABLE> tags must
surround the entire table definition. The first item inside the table
is the CAPTION , which is optional. Then you can have any number
of rows defined by the <TR> and </TR>
tags. Within a row you can have any number of cells defined by the
<TD> ... </TD> or
<TH> ... </TH> tags. Each row of a table is,
essentially, formatted independently of the rows above and below it.
This lets you easily display tables like the one above with a single
cell, such as Table Attributes, spanning columns of the table.
|
Tables for Nontabular Information
Some HTML authors use tables to present nontabular information. For
example, because links can be included in table cells, some authors use
a table with no borders to create "one" image from separate images.
Browsers that can display tables properly show the various images
seamlessly, making the created image seem like an image map (one
image with hyperlinked quadrants).
Using table borders with images can create an impressive display as
well. Experiment and see what you like.
|
Fill-out Forms
Web forms let a reader return information to a Web server for some
action. For example, suppose you collect names and email addresses so
you can email some information to people who request it. For each person
who enters his or her name and address, you need some information to be
sent and the respondent's particulars added to a data base.
This processing of incoming data is usually handled by a script or
program written in Perl or another language that manipulates text,
files, and information. If you cannot write a program or script for your
incoming information, you need to find someone who can do this for you.
The forms themselves are not hard to code. They follow the same
constructs as other HTML tags. What could be difficult is the program or
script that takes the information submitted in a form and processes it.
Because of the need for specialized scripts to handle the incoming form
information, fill-out
forms are not discussed in this primer. Check the Additional Online Reference section for more information.
|
Troubleshooting
Avoid Overlapping Tags
Consider this example of HTML:
<B>This is an example of <I>overlapping</B>
HTML tags.</I>
The word overlapping is contained within both the
<B> and <I> tags. A browser might be
confused by this coding and might not display it the way you intend. The
only way to know is to check each popular browser (which is
time-consuming and impractical).
In general, avoid overlapping tags. Look at your tags and try pairing
them up. Tags (with the obvious exceptions of elements whose end tags
may be omitted, such as paragraphs) should be paired without an
intervening tag in between. Look again at the example above. You cannot
pair the bold tags without another tag in the middle (the first
definition tag). Try matching your coding up like this to see if you
have any problem areas that should be fixed before you release your
files to a server.
|
Embed Only Anchors and Character Tags
HTML protocol allows you to embed links within other HTML tags:
<H1><A HREF="Destination.html">My heading</A></H1>
Do not embed HTML tags within an anchor:
<A HREF="Destination.html">
<H1>My heading</H1>
</A>
Although most browsers currently handle this second example, the
official HTML specifications do not support this construct and your file
will probably not work with future browsers. Remember that browsers can
be forgiving when displaying improperly coded files. But that
forgiveness may not last to the next version of the software! When in
doubt, code your files according to the HTML specifications (see For More Information below).
Character tags modify the appearance of the text within other elements:
<UL>
<LI><B>A bold list item</B>
<LI><I>An italic list item</I>
</UL>
Avoid embedding other types of HTML element tags. For example, you might
be tempted to embed a heading within a list in order to make the font
size larger:
<UL>
<LI><H1>A large heading</H1>
<LI><H2>Something slightly smaller</H2>
</UL>
Although some browsers handle this quite nicely, formatting of such
coding is unpredictable (because it is undefined). For compatibility
with all browsers, avoid these kinds of constructs. (The Netscape
<FONT> tag, which lets you specify how large individual characters
will be displayed in your window, is not currently part of the official
HTML specifications.)
What's the difference between embedding a <B> within a
<LI> tag as opposed to embedding a <H1>
within a <LI> ? Within HTML the semantic meaning of
<H1> is that it's the main heading of a document and that
it should be followed by the content of the document. Therefore it
doesn't make sense to find a <H1> within a list.
Character formatting tags also are generally not additive. For example,
you might expect that:
<B><I>some text</I></B>
would produce bold-italic text. On some browsers it does; other browsers
interpret only the innermost tag.
|
Do the Final Steps
Validate Your Code
When you put a document on a Web server, be sure to check the formatting
and each link (including named anchors). Ideally you will have someone
else read through and comment on your file(s) before you consider a
document finished.
You can run your coded files through one of several on-line HTML
validation services that will
tell you if your code conforms to accepted HTML. If you are not sure
your coding conforms to HTML specifications, this can be a useful
teaching tool. Fortunately the service lets you select the level of
conformance you want for your files (i.e., strict, level 2, level 3). If
you want to use some codes that are not officially part of the HTML
specifications, this latitude is helpful.
|
Dummy Images
When an <IMG SRC> tag points to an image that does not
exist, a dummy image is substituted by your browser software. When this
happens during your final review of your files, make sure that the
referenced image does in fact exist, that the hyperlink has the correct
information in the URL, and that the file permission is set
appropriately (world-readable). Then check online again!
|
Update Your Files
If the contents of a file are static (such as a biography of George
Washington), no updating is probably needed. But for documents that are
time sensitive or covering a field that changes frequently, remember
to update your documents!
Updating is particularly important when the file contains information
such as a weekly schedule or a deadline for a program funding
announcement. Remove out-of-date files or note why something that
appears dated is still on a server (e.g., the program requirements will
remain the same for the next cycle so the file is still available as an
interim reference).
|
Browsers Differ
Web browsers display HTML elements differently. Remember that not all
codes used in HTML files are interpreted by all browsers. Any code a
browser does not understand is usually ignored though.
You could spend a lot of time making your file "look perfect" using your
current browser. If you check that file using another browser, it will
likely display (a little or a lot) differently. Hence these words of
advice: code your files using correct HTML. Leave the interpreting to
the browsers and hope for the best.
|
Commenting Your Files
You might want to include comments in your HTML files. Comments in HTML
are like comments in a computer program--the text you enter is not used
by the browser in any formatting and is not directly viewable by the
reader just as computer program comments are not used and are not
viewable. The comments are accessible if a reader views the source file,
however.
Comments such as the name of the person updating a file, the software
and version used in creating a file, or the date that a minor edit was
made are the norm.
To include a comment, enter:
<!-- your comments here -->
You must include the exclamation mark and the hyphens as shown.
|
For More Information
This guide is only an introduction to HTML, not a comprehensive
reference. Below are additional online sources of information. Remember
to check a bookstore near you for Web and HTML books.
Style Guides
The following offer advice on how to write "good" HTML:
|
Thanks
NCSA acknowledges and thanks the many Web users who have commented on
this guide. Thanks also to the NCSA reviewers and contributors as well
as the author of the first version of this guide.
|
|