Cascading Style Sheet

What is CSS?
CSS (“Cascading Style Sheets”) determines how the elements in our XHTML documents are displayed and formatted. By using CSS, we separate the content of a web page from the presentation (format and styling) of that content. CSS enables us to make all pages of our website look similar and consistent. The power of CSS is that it allows us to make site-wide formatting changes by making edits to a single file.

Three Ways to Use CSS
We can add CSS code in any combination of three different ways:

  1. Inline Style – CSS code is placed directly into an XHTML element within the <body> section of a web page.
  2. Embedded Style Sheet – CSS code is placed into a separate, dedicated area within the <head> section of a web page.
  3. External Style Sheet – CSS code is placed into a separate computer file and then linked to a web page.

Inline Style
To define an inline CSS style, add the style attribute to an XHTML element with the CSS declaration as the attribute value:inline-style
An inline style declaration is highly specific and formats just one element on the page.  No other elements, including other <h2> elements on the page, will be affected by this CSS style. The style attribute can contain one or more declarations between its quotation marks.

Embebed (Internal) Style Sheet
To use an internal CSS style sheet, we add a <style> section within the <head> of the page.  All our CSS declarations go within this section:embed-style
Styles declared in the internal style sheet affect all matching elements on the page.  In this example, all <h2> page elements are displayed in the color red.

External Style Sheet
To use an external CSS style sheet, we create a new file (with a .css extension) and write our style declarations into this file. We then add a <link> element into our HTML file, right after the opening <head> tag:external-style
The <link> element instructs the browser to load the external file specified by the href attribute and to apply the CSS style declarations contained there.

Benefit of External Style Sheet
The real power of using an external style sheet is that multiple web pages on our site can link to the same style sheet:benefit-css
Styles declared in an external style sheet will affect all matching elements on all web pages that link to the style sheet.  By editing the external style sheet, we can make site-wide changes (even to hundreds of pages) instantly.

Internal vs. External Style Sheets

Internal Style Sheets:

  • are appropriate for very small sites, especially those that have just a single page.
  • might also make sense when each page of a site needs to have a completely different look.

External Style Sheets:

  • are better for multi-page websites that need to have a uniform look and feel to all pages.
  • make for faster-loading sites (less redundant code).
  • allow designers to make site-wide changes quickly and easily.note-css

CSS Terminology and Syntax:
The syntax of a CSS declaration is:   selector {property:value;}

Internal and external style sheets use this identical CSS syntax.  Internal style sheets must use the opening and closing <style> tags to surround the CSS code, while external style sheets do not use the <style> element.
Setting Multiple Properties
We can define as many properties as we wish for a selector:style1style2
Just as with HTML, browsers ignore space characters in CSS code.  Many designers take advantage of this fact by placing the opening and closing curly brackets on their own dedicated lines.  Each of the property and value pairings are placed on their own indented line, with a space after the colon.  This makes the code far easier to read.

CSS Text Properties
The following properties can be specified for any element that contains text, such as <h1> through <h6>, <p>, <ol>, <ul>, and <a>:

Property Some Possible Values
text-align:  center, left, right, justify
 text-decoration:  underline, line-through, blink
 color:  blue, green, yellow, red, white, etc.
 font-family:  Arial, Verdana, “Times New Roman”
 font-size:  20px (pixels), large, 120%
 font-weight:  bold, normal
 font-style:  italic, normal

The actual list of available properties and values is quite long, but the ones listed above are the most common for formatting text via CSS.

How Browsers Process CSS

  • A web browser will process all CSS code it encounters, even if it is from all three methods.
  • For example, an external style sheet could define the font of a heading, an internal style sheet could specify the font size of the heading, and an inline style could italicize the heading.  All three would be applied.

What Does “Cascading” Mean?
We use the term “cascading” because there is an established order of priority to resolve formatting conflicts:

  1. Inline style (highest priority)
  2. Embedded (Internal) style sheet (second priority)
  3. External style sheet (third priority)
  4. Web browser default (only if not defined elsewhere)

For each XHTML element, the browser will see which styles are defined inline and from internal and external style sheets.  For any conflicts detected, it will use this priority system to determine which format to display on the page.