CSS Fundamentals — 2-Day CSS Training Course
CSS Training Course Overview
This CSS training course covers the fundamentals of CSS web design through expert tuition and hands-on exercises. The course teaches delegates how to deliver identical, visually appealing, content to different browsers, applications, platforms, and devices, using Cascading Stylesheets (CSS).
On completion of this basic CSS training course delegates should be able to understand and apply core CSS, i.e. those parts of CSS1, CSS2 and CSS2.1 which are implemented in all modern web browsers.
Delegates are encouraged to follow CSS best practice and adhere closely to web standards, so that they continue to hone their skills after the course, rather than merely accumulating experience.
Intended Audience for this CSS Training
- Web site designers
- Web developers
- Communications, marketing and design professionals who want to:
- Produce more accessible sites using CSS
- Produce more usable sites using CSS
- Produce search engine optimised (SEO) sites using CSS
Suitability for this CSS Training
This course is suitable for people with limited CSS experience and those with no CSS experience at all.
Delegates with previous CSS experience will not have produced CSS-only page layouts, e.g.
- Table-less multi-column layout (using the CSS
positionproperty) - Horizontal navigation bars using HTML list markup (
<ul>) - Multi-layered designs (using the
z-indexproperty)
Those who have successfully implemented table-less CSS layout may find our Advanced CSS Training Course more suitable.
Prerequisites for this CSS Training
- A good understanding of HTML or XHTML
- Graphic ambition — actual talent is not required!
- Willingness to unlearn outdated HTML formatting
- Willingness to hand code HTML and CSS
Publicly scheduled dates, locations, and prices
London — £575 (+VAT)
- 22–23 Sep 2010
- 20–21 Oct 2010
- 24–25 Nov 2010
Bradford — £575 (+VAT)
- 15–16 Sep 2010
- 17–18 Nov 2010
CSS Training Course Contents
Getting Started with CSS
- Introduction to this CSS course
- Course Organisation
- HTML Structure and Content, CSS Presentation
- Advantages of CSS
- Creating and Using Style-Sheets
- CSS Rules: The Basic Syntax
- Case, Whitespace and Comments in CSS
- The CSS Standards
- The Scope Of CSS
- Browser Support for CSS
- Hands-on Exercises
CSS Boxes and CSS Selectors
- The CSS Box Model
- CSS and Logical HTML Structure
- Styling Boxes: Borders, Margins and Padding
- The IE Box Model and Quirks Mode
- IE Box Model Workarounds
- Using IE6 Standards Mode
- Specifying CSS Distances
- Problems with Absolute Units: pixels and point sizes
- Using Proportional Units: em, ex and percentages
- Formatting Box Edges Differently
- Shorthand Syntax for Sets of Edges
- Using Margins and Padding Effectively
- Collapsing Vertical Margins on Paragraphs
- Using Negative Margins on Boxes
- Background Images on CSS Boxes
- Grouping Elements with HTML Classes
- Styling Multiple Elements Similarly (Selector Grouping)
- Block Boxes and Inline Boxes
- Block Box Behaviour
- Inline Box Behaviour
- Using the Generic Block Level Element:
<div> - Hands-on Exercises
Text Formatting in CSS
- Text Formatting
- Typefaces, Alternatives and Defaults
- Text Size — a Serious Usability Issue
- Font Characteristics
- Setting and Using Space Within Text
- Formatting Blocks of Text
- Using Arbitrary Inline Tags:
<span> - Hands-on Exercises
More CSS Selectors and Selection
- Using HTML Element IDs in CSS
- Using CSS Descendant Selectors
- Descendant Selector Examples
- Child, Sibling and Pseudo-Class Selectors
- Why You Need To Know Them
- Browser Support and CSS Hacks
- Distinguishing and Setting Link States
- Link, Visited, Hover, Active, Focus
- Modularising CSS Style-Sheets
- Simpler Management, Less Effort, More Control
- Embedded CSS Styles in HTML Documents
- How and When to Use Them (Rarely).
- Distinguishing Print, Screen and other Output Formats
- Special Issues in CSS for Print
- Hands-on Exercises
CSS Positioning
- Choosing the Right CSS Technique for Positioning Blocks
- The Position Property, Floats, Margins (inc. Negative and Auto), etc
- Static Positioning and Normal Flow
- Absolute Positioning Outside Normal Flow
- Relative Positioning — Not What You May Expect!
- Fixed Positioning Outside Normal Flow
- Relative Absolute Positioning
- Absolutely Positioned Blocks in Relatively Positioned Containers
- Floating Boxes with the CSS float property
- Page Layout Using Absolutely Positioned Blocks
- Page Layout Using Floated Blocks
- Hands-on Exercises
More on CSS Page Layout
- Alternative Methods of CSS Positioning
- Centring Blocks
- Styling Lists
- Redefining the Behaviour of Inline and Block Elements
- Hiding and Revealing Blocks
- Table Formatting in CSS
- Styling Table Cell Borders
- Page Layout with Table Display Properties
- Hands-on Exercises
Cascade, Precedence, Specificity and Inheritance in CSS
- Taking Control: Ensuring that CSS Rules Interact in the Way You Want
- Combining Styles: Different Types, Origins, Importance, Specificity and Order
- Examples: Combining Rules
- Cascading and Cascade Order
- Resolving Style Conflicts By Origin
- Resolving Style Conflicts By Importance
- Resolving Conflict By Selector Specificity
- Resolving Conflict By Order
- Non-CSS Presentational Hints
- Property Inheritance
- Hands-on Exercises
CSS Layers and Translucency
- Different Forms of Layered Presentation in CSS
- Layering with the z-index Property
- Different Methods for Creating Translucency Effects
- The CSS3 opacity Property
- opacity Example
- Fixed Attachment Backgrounds in Layers
- background-attachment Example
- Transparency and Semi-transpaency with Alpha-Blended PNG
- PNG Translucency Example and Sample Code
- Pseudo-Transparency with JPG Positioned Backgrounds
- JPG Pseudo Transparency Example
- Hands-on Exercises
Using CSS in the Real World
- Deploying CSS
- CSS Formatting Versus HTML Formatting
- Achieving a Balance
- Standard Tags and Semantic Markup
- Usability
- Readable Pages
- Screen Size and Fluid Design
- Text Size, Including Internet Explorer Quirks
- Table Layout and CSS Positioning
- Table Layout and CSS Positioning as Alternatives
- Combining Table Layout with CSS Positioning
- CSS Browser Support
- Testing Websites
- Using Test Suites and Multiple Browsers
- Cross-platform Testing in Single-platform Environments
- CSS Help and Advice
- Authorative Sources versus Web Myths and Gossip
- Free Lifetime Support
Teaching and Learning Methods
This CSS course is delivered through hands-on exercises, backed up by expert tuition in fundamental principles and best coding practice. The instructor will typically have 7-8 years experience of coding standards-based CSS on commercial websites, including at least 5 years experience in table-less CSS layout.
Students are asked to test their CSS on a range of browsers (including non-graphical browsers) and test suites. The GUI tools provided for editing and testing give prompts, diagnostic feedback, and helpful information.
While this CSS course is designed to meet the needs of delegates who use WYSIWYG editors (e.g. Dreamweaver, InDesign, FrontPage, etc.) or Content Management Systems (CMS), hand coding is encouraged. The primary goal of hand coding is educational, i.e. to ensure that delegates acquire a good understanding of the logic behind CSS and not mere routines or recipes. This should, in turn, ensure that delegates are able to adapt WYSIWYG tools to their needs of their websites, rather than vice versa.
Delegates are provided with pre-prepared HTML templates, content and sample solutions for exercises, where appropriate, i.e. where they speed up progress without detracting from essential learning experience.
Background to CSS Training
The World Wide Web Consortium (W3C) developed Cascading Stylesheets (CSS) as a pragmatic way of addressing the the web’s most obvious incompatibility problem: the inability of web designers to create attractive, visual and multimedia effects without using proprietary techniques which lock users into one company’s products.
With Cascading Stylesheets (CSS) it is possible to design web pages in which structured data is almost entirely separated from instructions about how to present it in a browser, on a speaker, on a smartphone, etc.
By putting the presentational instructions in a separate Cascading Style Sheet (CSS), web designers can now ensure that no user loses an important part of the data in a web page, merely because they are using a different kind of software or device.
Although Cascading Stylesheets (CSS) are conceptually simple, the practical implementation of CSS techniques (e.g. table-less layout) can sometimes be tricky.
This is largely due to poor support for CSS standards (CSS1, CSS2, CSS2.1) in the web’s most popular browser and the high levels of CSS support in most alternative browsers.
Internet Explorer 6 (IE6) implements only a small subset of the current standard (published in 1998!) and wrongly implements much of that subset. IE7 is expected to fix the worst bugs and ommissions in IE6, but this will not bring Internet Explorer up to the level of CSS compliance currently found in modern browsers like Firefox, Opera and Safari (more or less complete implementations of CSS2 and significant support for CSS3) . Indeed, by the time IE7 is released, speedier development in these standalone browsers, may have extended the gap.
Bridging this gap is, arguably, the hardest task facing CSS beginners. Very often, self-taught designers find themselves caught in a vicious circle where the fix for a presentational problem in one browser, merely creates new problems in another.
This CSS course is specifically designed to address the problem of browser incompatibility. For the most part, it does so, by focusing on the basic CSS supported by IE6. Where the IE implementation itself is buggy, fixes and workarounds are provided. Moreover, both the hands-on exercises and the instruction is peppered with good practice advice about how to avoid triggering these bugs in the first place.
