Starting Cascading Style Sheets
Cascading Style Sheets (CSS) are being used more and more by web
designers to layout and format web pages. Although they have
been around for several years now many designers have avoided
them due to browser incompatibility.
Although compatibility problems still exist they are no longer
an issue for most applications. Here I will concentrate here on
the main features and how they work and why they are
used.
You may find yourself using CSS anyway without you
knowing as programs like FrontPage use CSS (depends on page
setup options) for some of their functionality. Styles Solve
a Common Problem
HTML was originally designed to define the content of a document
but not the document presentation/layout. The layout of the
document was supposed to be taken care of by the browser,
without using any formatting tags. The content is defined by
using tags like h1,
, table, which basically say "This is a header", "This is a
paragraph", "This is a table", by using tags like and so on.
The principal browser vendors, Netscape and Microsoft, competed
by adding support for new, proprietary tags (like the tag
and the colour attribute) and technologies that permitted
increasingly high-impact Web pages.
These innovations were
good for spurring the development of Web technology, but they
created problems as well.
Consequently it became more and more difficult to create Web
sites where the content of HTML documents was clearly separated
from the document's presentation and that would be displayed
correctly on any browser.
The World Wide Web Consortium (W3C) - the consortium responsible
for standardizing HTML - created a language called Cascading
Style Sheets, or CSS.CSS, unlike HTML, is designed solely to
define appearance as efficiently as possible.
It can exist either within HTML or as a linked document, letting
developers separate a Web page's content (marked up in HTML)
from its presentation (defined by CSS). Both Netscape 4.0 and
Internet Explorer 4.0 and later support Cascading Style Sheets.
Style sheets work like templates: you define the style for a
particular HTML element once (e.g. header tag h1), and then use
it over and over on any number of Web pages.
If you want to change how an element looks, you just change the
style; the element automatically changes wherever it appears.
(Before CSS, you had to change the element individually, each
time it appeared) .Style sheets let Web designers quickly create
more consistent pages--and more consistent sites. How Style
sheets are Implemented
There are 3 basic ways to add the functionality of Style Sheets:
1. Inline - Creating the elements for each HTML Tag. This
will allow the same HTML Tag to have different styles on the
same page.
2. Embedding - Creating the elements on
the page itself that will affect every occurrence of an HTML
Tag.
3. Linking - Creating one page that defines the
elements and include in the pages that you want to affect.
For beginners using Embedding or Linking is recommended.. The
Linking Style is used when you want to use the same style on
multiple pages, you can then use Embedding and/or Inline on
specific pages that don't fit the design style of the Linking
Sheet. Precedence and inheritance
As the term Cascading Style Sheets implies, more than one style
sheet can be used on the same document, with different levels of
importance. Generally styles from different style sheets merge
together (cascade) into a virtual style.
However, If you define conflicting styles for the same HTML
element, the innermost definition--the one closest to the
individual tag-wins
The precedence Style Sheets follow is
Inline, Embedding, then Linking. Inline Style takes precedence
over Embedding Style, which takes precedence over Linking Style.
There is a fourth style sheet which is set not by the document
author but by the reader and that is the browser default. Taking
this style sheet into consideration the order of precedence
is:
1. Inline Style (inside HTML element) .
2.
Embedding Style Sheet (inside the tag).
3. External
Style Sheet.
4. Browser default.
So, an inline style
(inside an HTML element) has the highest priority, which means
that it will override every style declared inside the
tag, in an external style sheet, and in a browser (a default
value).