PREVIOUS PAGE • SUBSCRIBE TO THE NEWSLETTER • CLIENT LOGIN
Getting the cart
before the horse
Until about a year ago, I recommended
against using frames on Web sites. Now I say that frames are OK, but I'm
recommending against using pixel-accurate positioning on Web sites. Am
I nuts? (Don't answer that just yet.)
Let's look at the advantages of
what Microsoft calls "CSS+P -- Cascading Style Sheets with Positioning"
and what Netscape calls "Layers". Each of these technologies
allows Web site designers to position text and graphics on a pixel-by-pixel
basis. "Pixel" is short for "picture element". A standard
VGA screen is 640 pixels wide and 480 pixels high. Other common screens
are 800x600 pixels and 1024x768 pixels.
Pixel-accurate positioning means
that it's now possible to place a graphic or a block of text exactly where
you want it -- not just approximately where you want it. "Approximately"
is the best we've been able to do until now.
Why would anyone suggest not using
a technology that allows designers to control the way a Web site looks?
There are many reasons.
- First, and probably most critical, is that these technologies require version 4 browsers and a lot of users still have version 3 browsers.
- Second, positioning does not "degrade gracefully". A site designed with CSS+P positioning will look just the way you want it to when viewed with Microsoft's Internet Explorer version 4 or 5. It will look horrid on any Netscape browser and on any earlier Microsoft browser.
- Third, the competing technologies (CSS+P and Layers) cannot coexist. Layers technology doesn't work with Microsoft browsers and CSS+P technology doesn't work with Netscape browsers.
- Fourth, to resolve the problems created by the two previous issues, a site designer must create three versions of every Web site -- one that uses CSS+P, one that uses Layers, and one that uses neither. And the site must be set up to detect which type and version of browser each visitor is using and then to load the appropriate page.
In short, using these leading-edge
technologies is too much trouble and too expensive for most of us to consider
now. My hope is that Microsoft and Netscape will finally do what they've
said they will do -- support common standards developed by an international
consortium so that both browsers will properly interpret pages.
The only viable option today is
not to use either CSS+P or Layers.
One technology that I have started
using on most of the Web sites I maintain is Cascading Style Sheets (CSS).
This technology is supported, although not consistently, by both Microsoft
and Netscape.
It's more than a little annoying
that Microsoft and Netscape can't even manage consistent support for Cascading
Style Sheets, particularly because both Microsoft and Netscape provided
input as the specifications were being developed. Both promised to support
the standard. Neither does, although Microsoft seems to be a lot closer
than Netscape.
CSS (without positioning) does degrade
gracefully. Browsers that don't support CSS ignore all of the CSS codes.
Browsers that do support CSS make some effort to interpret the codes properly.
What I like most about designing
pages with CSS is the ability to choose a specific type size -- instead
of being limited to the few size options that native HTML (hypertext mark-up
language) allows. There's still no ability to specify any particular typeface,
although that will happen eventually. The best we can do now is specify
several typefaces that might be on a user's computer -- always including
"sans" (whatever generic sans-serif face is on the computer)
or "serif" (whatever generic serif face is on the computer)
-- in case nothing else on the list is present.
CSS also allows the designer to
specify spacing, background colors and images, paragraph indents (something
that we've had to control with non-breaking spaces until now), and a host
of other formatting controls. Some of these capabilities are not supported
consistently by Microsoft and Netscape, though.
Normally I don't talk much about
Web site development tools. It's not that there are any secrets involved.
Most of the sites I develop are created with Microsoft's Front Page because
some of the server-based Front Page Extensions accelerate Web site development,
saving time for me and money for you. When Front Page Extensions aren't
available, I usually choose Macromedia's Dream Weaver.
The next generation of Web site
development products support these new technologies. Since January, I've
been looking at Microsoft's Front Page 2000 (beta) and am currently using
the version of Front Page 2000 that will begin shipping in June. Fusion
4 from Net Objects has been shipping for a while and Macromedia's Dreamweaver
2 has just hit the market. Each of these promises to make it easier to
make more attractive Web sites.
Fusion is interesting because it
allows almost pixel-accurate positioning for any browser. The program
does this by allowing the site designer to position text and graphics
anywhere on a page and then generating complex tables to hold the text
and graphics. The advantage is that both Netscape and Microsoft support
tables in every browser from version 2 on -- and that covers the majority
of the people who browse the Web.
When this ability is coupled with
Microsoft's new "hands-off" approach to HTML from other programs,
a page with intense design needs can be set up in Fusion and then imported
into Front Page. Earlier version of Front Page took Microsoft's typical
heavy-handed approach and automatically changed HTML to fit the Front
Page mold.
The development tools that are coming
or are already here will make better formatting possible. Now all we need
are browsers that can keep up. If you'd like to help Microsoft and Netscape
see the light, please write to both companies and tell them that you want
the next versions of their software to fully support CSS standards.
Contact Microsoft via http://register.microsoft.com/regwiz/regwiz.asp
and Netscape via http://www.mozilla.org/feedback.html.
Now's the time to speak up!
|