Different levels of CSS and the priority over each other
We will discuss different types of style property declared and there priority over others here. CSS gives flexibility in using different style property locally by overriding the global declared values or declared styles in external style sheet.
Let us start with Types of styles. Mainly there are three types
We also have another two types of styles at the client end. One is user defined style and other is browser default style. Then the big question why so many types of style ? If more than one style is defined then which one will be followed? For this there is a priority level defined and based on this priority the styles property gets included.
User defined style
Embedded or inline style sheet
Internal style sheet
External style sheet
Browser default style
We can see here that out of the above list as a designer we have control over serial number 2,3 and 4. These three types of styles we will discuss more. Within these three ( Inline, Internal & External ) the priority order is first Inline, then Internal and last priority is given to external styles. This is the biggest advantage as we can override the global style property and define them locally. Let us start learning each of these three types of CSS.
We add the styles within our HTML tags. This gets highest priority than Internal and external defined styles. Let us try to add a background style to one h4 tag.
<h4 style="background-color: #f1f1f1;">This is H4 tag</h4>
This type of style is defined inside the body tag of the page. The style defined here get priority over the external styles but after the Inline styles. Here is an example of Internal styles.
<title>(Type a title for your page here)</title>
font-family: verdana, arial, sans-serif;
<p> This is content and its style is defined within the internal style sheet</p>
External Style sheets
These styles are kept separately and called or linked from the required page. This is the syntax followed for linking a external style sheet.
The above tag is to be placed within the head tags of the page. We can keep our style details inside the file named style.css. Watch the linking of the file. The path details are to be given for including the style sheet.
I still do not understand why there are different levels of CSS!!!
Seyed Jafar Mortazavi
As I was searching about this subject to write an article and I saw this article in my research, I would like to share my earned knowledge with you all. Hope it be useful for you.
As the article is a bit long I sent it two or three posts.
*** CSS types ***
1. There are three types to inserting CSS which are called inline CSS, internal CSS and external CSS.
2. An inline CSS inserts inside HTML element's start tag. To use inline styles, add the style attribute to the relevant element. The
style attribute can contain any CSS property. An inline style may be used to apply a unique style for a single element.
3. An internal CSS may be used if one single page has a unique style. Internal styles are defined within the <style> element,
inside the <head> section of an HTML page.
4. An external CSS can be written in any text editor. The file should not contain any html tags. The style sheet file must be saved
with a .css extension. External stylesheets are stored in CSS files.
5. Use the HTML style attribute for inline styling. Use the HTML <style> element to define internal CSS. Use the HTML <link> element
to refer to an external CSS file. Use the HTML <head> element to store <style> and <link> elements.
*** other ways to style HTML element ***
1. Except, three mentioned types of styling, there are three other ways which are called HTML presentational attributes style, user
define style and browser default style.
2. The HTML presentational attributes style is to style HTML tag with built-in element attributes. HTML presentational attributes
comes in start tag exactly after tag's name.
3. The user define style which is at client side.
4. The browser define style which also at the client side.
Seyed Jafar Mortazavi
second part (final part):
*** different styling priorities (HTML presentational attributes vs CSS properties) ***
1. According to the types and ways of styling mentioned above, there are a priority level defined, and based on this priority the
styling property gets included. styling priorities order is as follows:
a. User defined style.
b. Inline style sheet.
c. Internal style sheet or External style sheet.
d. HTML presentational attributes.
e. Browser default style.
2. There is a point in styling priority, which is waterfall attribute. It means if we define more than one style for any element,
the lowest(undermost) defined style will override all it's previous styles properties.
3. there is other point in styling priority, which is "!important" keyword. If we use "!important" keyword the style with the
keyword, will prior to other styles.
4. Waterfall attribute is executive when using "!important" keyword as well.