The different types of stylesheets
Stylesheet definitions created with CSS can be inserted into an HTML document in a few different ways.
This tutorial focuses on:
- The three types of stylesheets
- Creating an internal stylesheet
- Creating an external stylesheet
- Creating an inline stylesheet
- Multiple stylesheets
The three types of stylesheets
There are three types of stylesheets:
- Internal - Placed right on the page whose interface it will affect.
- External - Placed in a separate file.
- Inline - Placed inside a tag it will affect.
Creating an internal stylesheet
Use an internal stylesheet when you want an HTML document to have a unique style. An internal stylesheet is defined using the <style> tag and goes in the head section of an HTML document.
The <style> tag specifies the content type of a stylesheet with its type attribute which should be set to "text/css".
The above stylesheet definition specifies that all text declared with the <p> tag should be green.
The text in this paragraph will be green.
This paragraph too.
NOTE: There are some old browsers still in use that do not support styles. Such browsers will ignore the <style> tag and will display the content within it on a webpage. You can prevent this by placing HTML comments within the <style> tag:
Creating an external stylesheet
Use an external stylesheet when you want to apply one style to many pages. If you make one change in an external stylesheet, the change is universal on all the pages where the stylesheet is used.
An external stylesheet is declared in an external file with a .css extension. It is called by pages whose interface it will affect. External stylesheets are called using the <link> tag which should be placed in the head section of an HTML document. This tag takes three attributes.
Attributes of the <link> tag:
- rel - When using an external stylesheet on a webpage, this attribute takes the value "stylesheet"
- type - When using an external stylesheet on a webpage, this attribute takes the value "text/css"
- href - Denotes the name and location of the external stylesheet to be used.
The text in this paragraph will be blue
NOTE: The <style> tag is NOT used in an external stylesheet, and neither are HTML comments.
Creating an inline stylesheet
Use inline stylesheets when you want to apply a style to a single occurence of an element.
Inline stylesheets are declared within individual tags and affect those tags only. Inline stylesheets are declared with the style attribute.
In this example, we are using the stylesheet command color to denote that the text in a paragraph will be gray.
This text will be gray.
You can have multiple stylesheet definitions on one page. For example, an internal stylesheet and an external stylesheet on one page or an inline stylesheet and an internal stylesheet on one page.
If a property has been set for the same tag in different stylesheet definitions on the same page, the definition that will be used will be from the most specific stylesheet. That is, the stylesheet that has the highest priority.
Stylesheets by priority:
- Inline stylesheet - An inline stylesheet has the highest priority. It will override styles declared in an internal stylesheet, an external stylesheet, and a web browsers default styles.
- Internal stylesheet - An internal stylesheet has the second highest priority. It will override styles declared in an external stylesheet and a web browsers default styles.
- External stylesheet - An external stylesheet has the third highest priority. It will override a web browsers default styles.
- Browsers default styles - A web browsers default styles have the lowest priority. A web browsers default styles will be used when there are no styles set for an element in an inline, internal, or external stylesheet.
In this example there are several stylesheet definitions:
- external stylesheet definition taken from the file style2.css - Specifies that the background color of the page should be gray.
- internal stylesheet definition - Specifies that text declared with the <p> tag should be orange.
- inline stylesheet definition - Specifies that text declared with one particular <p> tag should be yellow.
Assume that this page is viewed in a web browser that has the default background color for webpages set to light yellow.
The external stylesheet definition will override the web browsers default background color and will set the background color of the page to gray.
The inline stylesheet definition will override the internal stylesheets definition that specifies that text declared with the <p> tag should be orange, and will set it to yellow.