Skip to page content Skip to section menu Skip to site-wide navigation About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Advanced CSS Web Design — A 1-Day Course

Advanced CSS Course Synopsis

This one-day advanced CSS training course aims to enable experienced web designers to tackle and overcome the tricky problems which can make advanced CSS techniques difficult to implement in a cost-effective manner. Delegates will learn to diagnose, resolve and/or work around the most common problems, bugs, and browser incompatibilities encountered in advanced CSS web design. Expert instruction on these challenges is accompanied by best practice advice on how to create elegant, managable and affordable CSS in timely fashion.

Advanced CSS Course Background

The W3C’s cascading style sheet standards (CSS) have been more successful than many people expected. Every day web sites convert from slow, inflexible, and unmaintainable table-based HTML-formatting to fast-loading, graphically rich pages, using clean simple HTML/XHTML and table-less CSS. Improved performance and usability rarely goes unoticed by users or providers.

Nearly a decade after its launch (1996), CSS has delivered on it’s basic promise. Designers can now makeover web sites without having to touch the content or the markup; speeding up development by an order of magnitude. CSS-based content management systems (CMS) allow authors to publish accessible, semantically and syntactically correct web pages without having to master the finer points of HTML and XHTML markup. While programmers can find and manipulate content without having to tip-toe around minefields of explosive JavaScript and bad HTML markup. In short, the presentation, structure and content of web pages can be cleanly separated from one another and almost everyone is benefitting (except, perhaps, the vendors of old-fashioned WYSIWYG design tools and content management systems).

However, once you go beyond these basic goals, life in the CSS Zen Garden is far from a bed of roses. The biggest problem in advanced CSS web design, is that the world’s most popular web browser (Internet Explorer for Windows) supports only the most basic parts of the CSS standards (CSS1 plus bit of CSS2) and implements critical parts of CSS (e.g. box dimensions) in non-standard ways.

It is a problem which every advanced CSS designer has to face, whether their CSS is written for a cross-browser public website or for IE-only intranets and web applications. Nor will the fundamental problem be resolved by forthcoming releases of IE7 and Windows (members of the IE development team have made it clear that they consider security and user features to be higher priorities than CSS).

IE’s poor support for CSS2, CSS2.1 and CSS3 is not the only significant obstacle to advanced CSS web design. Every popular web browser has CSS rendering bugs (even the CSS-compliant ones like Mozilla/Firefox, Opera and Safari), and the most popular browser has many quite serious bugs. Since these bugs are often triggered by advanced CSS layout techniques (particularly sophisticated use of CSS positioning and floats), learning how to deal with them is an essential requirement for deploying the technology.

This advanced CSS training course is designed primarily to help experienced web designers overcome these problems, by clearly identifying their symptoms, causes and solutions. In a small number of cases, a complete solution may be technically impossible. In such instances, delegates will learn how to identify the risks, how to avoid triggering the bugs and browser incompatibilities and how to limit their negative side effects when they cannot be entirely avoided.

Target Audience for this Advanced CSS Course

Advanced CSS Course Prerequisites

Note: If you are unsure about whether your existing CSS skills, knowledge or experience meet these criteria, please telephone 0870 200 7273 and ask to speak to Dave Fisher (the course author). You can test the syntactical accuracy of your HTML/XHTML by running your pages through the W3C’s online HTML validator.

Advanced CSS Course Delivery

This advanced CSS training course consists of expert instruction, hands-on practical exercises and whole class discussion.

Whereas the hands-on exercises in our basic CSS course provide the opportunity to practice and experiment with generic CSS principles, the exercises in this advanced CSS course are more narrowly focused, i.e. on overcoming the most common problems in advanced css design with precise and effective technical solutions. While this means that the exercises themselves provide less opportunity for self expression, mastery of the techniques involved provides the platform for creativity, innovation and effectiveness when delegates return to the production environment.

Once such technical mastery is achieved, the advanced CSS practitioner may choose from a wide range of more or less suitable techniques for achieving similar graphic effects. Through instruction, whole-class discussion and in response to direct questions our expert tutor can provide advice on best practice in given situations, ensuring that deleates not only understand the options open to them, but the pros and cons of making particular choices.

Publicly scheduled dates, locations, and prices

Bradford — £375 (+VAT)

  • 7 Aug 2009
  • 18 Sep 2009
  • 20 Nov 2009

London — £375 (+VAT)

  • 31 Jul 2009
  • 25 Sep 2009
  • 23 Oct 2009
  • 27 Nov 2009

Outline Advanced CSS Course Contents:

Introduction to Advanced CSS

  • Standards-based CSS versus Browser-based CSS
  • Typical Compromises: graphic appeal, usability, browser compatibility
  • Basic Browser Compatibility versus Advanced Browser Compatibility
  • Browser CSS Support: IE6/IE7, IE5 for Mac, Firefox, Mozilla, Safari, Opera, etc.
  • Advanced design goals: quality and diversity through modularisation
  • The Elephant Traps: classic errors and problems in advanced CSS web design

Advanced CSS: Browser Modes and Browser Detection

  • Quirks Mode vs Standards Mode vs Almost Standards Mode
  • Standards Mode and the Standard Box Model
  • Standards Mode Selection by DOCTYPE
  • Forcing IE into Standards Mode
  • Barriers To Enforcing Standards Mode For XHTML
  • Browser Detection And/Or Object Detection
  • Browser Detection Tips
  • Browser-specific CSS, Modular Stylesheets, Filters And CSS hacks

Advanced CSS Box Models

  • A Recap of Key CSS Concepts: normal flow, replaced-element, block-level element, inline element, root element, containing block
  • The W3C Standard Box Model
  • Windows IE Box Models (Width)
  • Windows IE Box Model (Height)
  • Managing the IE/Win Box Model in CSS
  • Forcing W3C Standard Widths In IE/Win
  • The Tan Hack: A Reliable CSS Hack?

Advanced CSS Float Models

  • Typical Problems With Floats in CSS
  • Standards Vs IE Float Models
  • The Standard Float Model
  • The IE Float Model
  • Clearing a Float Within Its Container
  • Uncontained Floats: the Standard Default
  • Clearing a Float with :after
  • How Clearance Works in CSS2.1
  • Floats, Content and Overlapping
  • Over-Wide Replaced Content in Floated Containers
  • Over-Wide Images In Floats

Automatic Box Sizing in Advanced CSS

  • Setting Heights and Widths with auto
  • auto Width Properties in CSS
  • auto Height Properties in CSS
  • auto for Basic Horizontal Sizing
  • More Than One Horizontal auto Setting
  • auto and Percentage Box Sizing Gotchas

Advanced CSS Positioning and Offsets

  • Recap on CSS Positioning Types: static positioning, relative positioning, absolute positioning, and fixed positioning
  • The Containing Block and the Parent Block
  • The Containing Block For Absolute Elements
  • CSS Positioning Using Offsets versus Width and Height
  • Width and Height in CSS Positioning
  • Minimum and Maximum Dimensions: Standard CSS Properties (min-width, max-width, min-height, max-height) versus IE Default Behaviour

Common Browser Bugs and Common CSS Problems

  • The Most Common Problems in Everyday Practice
  • Valid CSS and Valid HTML
  • MIME Types
  • Media Type Glitches
  • FOUC: The Flash of Unstyled Content
  • Source Code Whitespace Not Ignored
  • Resource Paths
  • IE Text Size Bug
  • Link Pseudo-Class Order (LVHA)
  • Unintentionally Styled Anchors
  • List Zeroing
  • Missing Floats
  • Unclickable Links
  • Ignored Top Margins
  • Protruding Top and Bottom Margins
  • Protruding Floats in IE
  • The Holly Hack
  • The 3 Pixel Jog (Text Jog, 3 Pixel IE Bug)
  • The 1 Pixel Rounding Error (Not a Bug)
  • The Peek-a-Boo Bug
  • Peekaboo Bug Fixes
  • The WinIE Guillotine Bug
  • Guillotine Bug Fixes
  • The IE Click Bug
  • The IE Justified Italics Bug
  • The Windows IE Unscrollable Content Bug
  • The IE Double Float Margin Bug
  • The WinIE Creeping Text Bug
  • The IE6 Duplicate Character Bug