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!

   
 
 

William Blinn Communications - All Rights Reserved
Subscribe to the Newsletter
179 Caren Avenue • Worthington, Ohio 43085
Phone: 614-785-9359
(Telemarketers please note: This number is listed on the national Do Not Call registry.)