The different types of stylesheets
Stylesheet definitions created with CSS can be inserted into an HTML document in a few different ways.
This lesson 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
An internal stylesheet is placed right on the page whose interface it will affect.
-
External
An external stylesheet is placed in a separate file.
-
Inline
An inline stylesheet is 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.
An internal stylesheet 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".
Syntax for creating an internal stylesheet:
<style type="text/css"> styles go here </style>
Example:
<html>
<head>
<style type="text/css">
p {color: green}
</style>
</head>
<body>
<p>
The text in this paragraph will be green.
</p>
</body>
</html>
The above stylesheet definition specifies that all text declared with the <p> tag should be green.
Output of the above code:
The text in this paragraph will be green.
NOTE: There are some old browsers still in use that do not support styles. Such browsers will ignore the <style> tag, but will display the content within it on a webpage. You can prevent this by placing HTML comments within the <style> tag.
Example:
<html> <head> <style type="text/css"> <!-- p {color: green;} --> </style> </head> <body> <p> The text in this paragraph will be green. </p> </body> </html>
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
This attribute denotes the name and location of the external stylesheet to be used.
Example:
<html>
<head>
<link rel="stylesheet" type="text/css" href="style1.css" />
</head>
<body>
<p>
The text in this paragraph will be blue.
</p>
</body>
</html>
Output:
The text in this paragraph will be blue
The above example calls an external stylesheet named style1.css.
The code from style1.css:
p {color:blue}
NOTE: The <style> tag is NOT used in an external stylesheet. HTML comment tags are not used in external stylesheets either.
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.
Example:
<p style="color:gray">This text will be gray.</p>
In this example, we are using the stylesheet command color to denote that the text in a paragraph will be gray.
Output:
This text will be gray.
Multiple stylesheets
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.
Example:
<html> <head> <link rel="stylesheet" type="text/css" href="style2.css" /> <style type="text/css"> <!-- p {color: orange} --> </style> </head> <body> <p style="color: yellow"> The text in this paragraph will be yellow. </p> </body> </html>
Output:
In this example there are several stylesheet definitions:
-
an external stylesheet definition taken from the file style2.css
body {background-color: gray}
This stylesheet definition specifies that the background color of a webpage should be gray.
-
an internal stylesheet definition
<style type="text/css"> <!-- p {color: orange} --> </style>
This stylesheet definition specifies that text declared with the <p> tag should be orange.
-
an inline stylesheet definition
<p style="color: yellow"> The text in this paragraph will be yellow. </p>
This 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.




