- •Taking Your Talent to the Web
- •Introduction
- •1 Splash Screen
- •Meet the Medium
- •Expanding Horizons
- •Working the Net…Without a Net
- •Smash Your Altars
- •Breath Mint? Or Candy Mint?
- •Where’s the Map?
- •Mars and Venus
- •Web Physics: Action and Interaction
- •Different Purposes, Different Methodologies
- •Web Agnosticism
- •Point #1: The Web Is Platform-Agnostic
- •Point #2: The Web Is Device-Independent
- •The 18-Month Pregnancy
- •Chocolatey Web Goodness
- •’Tis a Gift to Be Simple
- •Democracy, What a Concept
- •Instant Karma
- •The Whole World in Your Hands
- •Just Do It: The Web as Human Activity
- •The Viewer Rules
- •Multimedia: All Talking! All Dancing!
- •The Server Knows
- •It’s the Bandwidth, Stupid
- •Web Pages Have No Secrets
- •The Web Is for Everyone!
- •Swap text and code for images
- •Prune redundancy
- •Cache as Cache Can
- •Much Ado About 5K
- •Screening Room
- •Liquid Design
- •Color My Web
- •Thousands Weep
- •Gamma Gamma Hey!
- •Typography
- •The 97% Solution
- •Points of Distinction
- •Year 2000—Browsers to the Rescue
- •Touch Factor
- •Appropriate Graphic Design
- •User Knowledge
- •What Color Is Your Concept?
- •Business as (Cruel and) Usual
- •The Rise of the Interface Department
- •Form and Function
- •Copycats and Pseudo-Scientists
- •Chaos and Clarity
- •A Design Koan: Interfaces Are a Means too Often Mistaken for an End
- •Universal Body Copy and Other Fictions
- •Interface as Architecture
- •Ten (Okay, Three) Points of Light
- •Be Easily Learned
- •Remain Consistent
- •Continually Provide Feedback
- •GUI, GUI, Chewy, Chewy
- •It’s the Browser, Stupid
- •Clarity Begins at Home (Page)
- •I Think Icon, I Think Icon
- •Structural Labels: Folding the Director’s Chair
- •The Soul of Brevity
- •Hypertext or Hapless Text
- •Scrolling and Clicking Along
- •Stock Options (Providing Alternatives)
- •The So-Called Rule of Five
- •Highlights and Breadcrumbs
- •Consistent Placement
- •Brand That Sucker!
- •Why We Mentioned These Things
- •The year web standards broke, 1
- •The year web standards broke, 2
- •The year web standards broke, 3
- •The year the bubble burst
- •5 The Obligatory Glossary
- •Web Lingo
- •Extranet
- •HTML
- •Hypertext, hyperlinks, and links
- •Internet
- •Intranet
- •JavaScript, ECMAScript, CSS, XML, XHTML, DOM
- •Web page
- •Website
- •Additional terminology
- •Web developer/programmer
- •Project manager
- •Systems administrator (sysadmin) and network administrator (netadmin)
- •Web technician
- •Your Role in the Web
- •Look and feel
- •Business-to-business
- •Business-to-consumer
- •Solve Communication Problems
- •Brand identity
- •Restrictions of the Medium
- •Technology
- •Works with team members
- •Visually and emotionally engaging
- •Easy to navigate
- •Compatible with visitors’ needs
- •Accessible to a wide variety of web browsers and other devices
- •Can You Handle It?
- •What Is the Life Cycle?
- •Why Have a Method?
- •We Never Forget a Phase
- •Analysis (or “Talking to the Client”)
- •The early phase
- •Design
- •Brainstorm and problem solve
- •Translate needs into solutions
- •Sell ideas to the client
- •Identify color comps
- •Create color comps/proof of concept
- •Present color comps and proof of concept
- •Receive design approval
- •Development
- •Create all color comps
- •Communicate functionality
- •Work with templates
- •Design for easy maintenance
- •Testing
- •Deployment
- •The updating game
- •Create and provide documentation and style guides
- •Provide client training
- •Learn about your client’s methods
- •Work the Process
- •Code Wars
- •Table Talk
- •XHTML Marks the Spot
- •Minding Your <p>’s and q’s
- •Looking Ahead
- •Getting Started
- •View Source
- •A Netscape Bonus
- •The Mother of All View Source Tricks
- •Doin’ it in Netscape
- •Doin’ it in Internet Explorer
- •Absolutely Speaking, It’s All Relative
- •What Is Good Markup?
- •What Is Sensible Markup?
- •HTML as a Design Tool
- •The Frames of Hazard
- •Please Frame Safely
- •Framing Your Art
- •<META> <META> Hiney Ho!
- •Search Me
- •Take a (Re)Load Off
- •WYSIWYG, My Aunt Moira’s Left Foot
- •Code of Dishonor
- •WYS Is Not Necessarily WYG
- •Publish That Sucker!
- •HTMHell
- •9 Visual Tools
- •Photoshop Basics: An Overview
- •Comp Preparation
- •Dealing with Color Palettes
- •Exporting to Web-Friendly Formats
- •Gamma Compensation
- •Preparing Typography
- •Slicing and Dicing
- •Rollovers (Image Swapping)
- •GIF Animation
- •Create Seamless Background Patterns (Tiles)
- •Color My Web: Romancing the Cube
- •Dither Me This
- •Death of the Web-Safe Color Palette?
- •A Hex on Both Your Houses
- •Was Blind, but Now I See
- •From Theory to Practice
- •Format This: GIFs, JPEGs, and Such
- •Loves logos, typography, and long walks in the woods
- •GIFs in Photoshop
- •JPEG, the Other White Meat
- •Optimizing GIFs and JPEGs
- •Expanding on Compression
- •Make your JPEGS smaller
- •Combining sharp and blurry
- •Animated GIFs
- •Creating Animations in ImageReady
- •Typography
- •The ABCs of Web Type
- •Anti-Aliasing
- •Specifying Anti-Aliasing for Type
- •General tips
- •General Hints on Type
- •The Sans of Time
- •Space Patrol
- •Lest We Fail to Repeat Ourselves
- •Accessibility, Thy Name Is Text
- •Slicing and Dicing
- •Thinking Semantically
- •Tag Soup and Crackers
- •CSS to the Rescue…Sort of
- •Separation of Style from Content
- •CSS Advantages: Short Term
- •CSS Advantages: Long Term
- •Compatibility Problems: An Overview
- •Working with Style Sheets
- •Types of Style Sheets
- •External style sheets
- •Embedding a style sheet
- •Adding styles inline
- •Fear of Style Sheets: CSS and Layout
- •Fear of Style Sheets: CSS and Typography
- •Promise and performance
- •Font Size Challenges
- •Points of contention
- •Point of no return: browsers of the year 2000
- •Absolute size keywords
- •Relative keywords
- •Length units
- •Percentage units
- •Looking Forward
- •11 The Joy of JavaScript
- •What Is This Thing Called JavaScript?
- •The Web Before JavaScript
- •JavaScript, Yesterday and Today
- •Sounds Great, but I’m an Artist. Do I Really Have to Learn This Stuff?
- •Educating Rita About JavaScript
- •Don’t Panic!
- •JavaScript Basics for Web Designers
- •The Dreaded Text Rollover
- •The Event Handler Horizon
- •Status Quo
- •A Cautionary Note
- •Kids, Try This at Home
- •The Not-So-Fine Print
- •The Ever-Popular Image Rollover
- •A Rollover Script from Project Cool
- •Windows on the World
- •Get Your <HEAD> Together
- •Avoiding the Heartbreak of Linkitis
- •Browser Compensation
- •JavaScript to the Rescue!
- •Location, location, location
- •Watching the Detection
- •Going Global with JavaScript
- •Learning More
- •12 Beyond Text/Pictures
- •You Can Never Be Too Rich Media
- •Server-Side Stuff
- •Where were you in ‘82?
- •Indiana Jones and the template of doom
- •Serving the project
- •Doing More
- •Mini-Case Study: Waferbaby.com
- •Any Size Kid Can Play
- •Take a Walk on the Server Side
- •Are You Being Served?
- •Advantages of SSI
- •Disadvantages of SSI
- •Cookin’ with Java
- •Ghost in the Virtual Machine
- •Java Woes
- •Java Woes: The Politically Correct Version
- •Java Joys
- •Rich Media: Exploding the “Page”
- •Virtual Reality Modeling Language (VRML)
- •SVG and SMIL
- •SMIL (through your fear and sorrow)
- •Romancing the logo
- •Sounds dandy, but will it work?
- •Promises, Promises
- •Turn on, Tune in, Plug-in
- •A Hideous Breach of Reality
- •The ubiquity of plug-ins
- •The Impossible Lightness of Plug-ins
- •Plug-ins Most Likely to Succeed
- •Making It Work: Providing Options
- •The “Automagic Redirect”
- •The iron-plated sound console from Hell
- •The Trouble with Plug-ins
- •If Plug-ins Run Free
- •Parting Sermon
- •13 Never Can Say Goodbye
- •Separation Anxiety
- •A List Apart
- •Astounding Websites
- •The Babble List
- •Dreamless
- •Evolt
- •Redcricket
- •Webdesign-l
- •When All Else Fails
- •Design, Programming, Content
- •The Big Kahunas
- •Beauty and Inspiration
- •Index
Taking Your Talent to the Web |
263 |
browser companies have increasingly supported CSS in earnest. Eventually, web designers will be able to dispense with HTML tables and other forms of HTML abuse altogether and use CSS to design robust sites that conserve bandwidth while offering true separation of style from content.
In turn, this separation of style from content will enable designers, programmers, and web technicians to more capably use additional web standards, such as JavaScript and the Document Object Model (DOM), to build truly dynamic, interactive sites.
WORKING WITH STYLE SHEETS
Style sheets are composed of “rules.” Rules have two parts: a selector that is followed by a declaration. Consider the style sheet below:
BODY {background: white; font-family: helvetica, arial, sans-serif;}
H1 {font-weight: bold; font-size: 24px; }
P, LI {font-size: 12px; line-height: 150%;}
BODY is the first selector, while the text within brackets is the declaration. Each declaration consists of one or more properties, followed by its associated values. For example, in the first line, background is a property, and white is declared as its value. font-family is a property, and the fonts listed are possible values for that property. This terminology is confusing at first, but working with style sheets is actually very easy. Let’s look more closely at the following example:
BODY {margin-top: 0; background: white; font-family: helvetica, arial, sans-serif;}
H1 {font-weight: bold; font-size: 24px; }
P, LI {font-size: 12px; line-height: 150%;}
The first line indicates that the BODY of the HTML document will use a white background and that typography throughout the entire page (unless otherwise noted via an additional selector) will be in the Helvetica family. If the user does not have Helvetica on his or her system, the type will be displayed in Arial. If Arial is not available, a generic sans serif will be used. Finally, margin-top: 0 tells the browser to start the web page at the top of the browser window, rather than “helpfully” offsetting it with an unpredictable or inconsistent vertical margin.
264 HOW: Style Sheets for Designers: Working with Style Sheets
Font families are displayed in the order with which they are written. If the user has both Arial and Helvetica on her system, Helvetica will be displayed because it is listed first. In this way it is possible for designers to specify
“best-case” scenarios while providing backup options. Remember: The first font listed will be displayed if it is available. The old <FONT> tag worked the same way.
It is crucial to provide typographic alternatives to compensate for crossplatform differences and to end every font declaration with a generic alternative, such as “serif” or “sans serif.” Additional generic alternatives include “monospace” for monospaced fonts such as Courier and “fantasy” for ugly and cancerous fonts such as Microsoft Comic Sans.
Recognize the awesome power of style sheets. In a single line, the typeface has been provided for an entire site. Imagine typing all those <FONT FACE=”HELVETICA, ARIAL, SANS-SERIF”> tags instead. Yuck.
BODY {margin-top: 0; background: white; font-family: helvetica, arial, sans-serif;}
Note also that the background color has been written out as “white.” Any color may be used, though as has been discussed before, it is always best to use web-safe colors.
Colors need not and usually should not be specified by name because names do not necessarily trigger web-safe colors. Instead of white, the designer could have specified the hexadecimal code for that color: #ffffff. It is even possible to use “shorthand” and specify only the first letter of each hexadecimal pair (#fff). This will be clearer with a color such as #ff9900, which can be written as #f90 in the style sheet, saving the designer three strokes of the keyboard and saving the user an infinitesimal amount of bandwidth.
Note that the H1 (headline), P (paragraph), and LI (list item) have had their sizes specified in pixels:
H1 {font-weight: bold; font-size: 24px; }
P, LI {font-size: 12px; line-height: 150%;}
Taking Your Talent to the Web |
265 |
It is possible (though not always useful) to specify a size of 1px or 200px (or even larger type). Besides pixels, style sheets can use points, inches, centimeters, .ems, percentages (“font-size: 75%;”) and even absolute font size keywords. We will discuss the advantages and disadvantages of each further on in the chapter. Oh, brother, will we discuss them.
Note also that it is possible to specify bold (or light, or italic, or italic bold) and that for the first time in web design history, it is also possible to create Quark-like leading in HTML text. Okay, you’re new to web design, so you’re not impressed. We’ve had leading in desktop publishing tools since Nixon wore short pants—but not on the Web, sister. On the Web, this is some cool new stuff.
line-height: 150%
This declaration means that the text will have leading of 150%. Any number may be chosen. Line-height can be 110%, 200%, or 75% (for special effects involving overlapping text). Assume 100% as a default, which need not be written. (Actually, the built-in leading seems to be closer to 110%, but again, unless you are specifying leading for a reason, leave it out to avoid creating problems.)
Line-height, like font-size, can be specified in points, pixels, .ems, percentages, centimeters, or inches.
line-height: 18px;
Because 150% of 12px equals 18px (12 + 6 = 18), a line-height of 18px would look exactly the same as a line-height of 150% on 12px type. If the font-size were 24px, then 150% would yield a line-height of (24 + 12) 36 pixels.
It is also possible and often desirable to indicate font-size and line-height in the same declaration, using CSS shorthand:
P, LI {font: 12px/18px;}
The first number (12px) is the font-size; the second (18px) is the lineheight. All CSS-capable browsers understand this shorthand.