GIF*DOT(tm) is a Grafman production
and has been brought to you as a service of
GIF*DOT(tm) is a trademark of Robert M. Free.
The GIF*DOT Home Page
Have you ever needed to indent a paragraph in an HTML document,
wondered how to control the vertical spacing between paragraph sections
or wished that you could generate live bar charts --
without the overhead of large bitmap images?
This document provides information on how to accomplish this,
examples of how these techniques are being used, and a
form for creating your own custom GIF*DOTs.
What are GIF*DOTs used for?
All of the paragraph indenting, vertical spacing, bullets and graphical
section breaks on this document make use of GIF*DOTs.
While HTML tables may be used for horizontal and vertical spacing,
they can be cumbersome to create.
Nor can they support the intra-paragraph formatting used in this document.
GIF*DOTs support HTML-based barcharts,
or one of the examples below:
In the barchart example above, your viewer acquired one copy of a red GIF*DOT
(about 35 bytes) and reused it to draw all the bars.
This is a lot faster than retrieving seven /images representing the variously
sized bars, or a single image containing the entire barchart.
This also reduces the load on the document server, allowing it to process
documents more efficiently.
Likewise, all GIF*DOT bullets of a given color are only retrieved once
and reused, regardless of their size or proportion.
How do GIF*DOTs work?
Some web browsers (Netmanage's WebSurfer and Netscape) stretch /images
to fit the WIDTH and HEIGHT attributes in a IMG tag.
This behavior allows you to use a single pixel image to render a
rectangle of any size or proportion.
Furthermore, most web browsers cache (keep a local copy of) /images and reuse
them when possible.
So instead of having to download several rectangular /images for a barchart,
only one single-pixel gif is sent, which is resized to the appropriate rectangles.
Note: Some browsers have dificulties with cached GIF*DOTs. This can usually
be cleard up by reloading the page. Note also that Netscape 1.1 has a bug
involving cached GIF*DOTs which causes it to stop displaying them after a while.
I first encountered the use of single pixel GIFs for page formatting
on David Siegel's HIGHFIVE page.
I first encountered the use of single pixel GIFs for generating
barcharts in a perl script by Matt Kruse.
I first coined GIF*DOT on October 3, 1995, when creating a
CGI perl script that generated single pixel GIFs.
- Bob Free
For more information on GIF*DOT, email