Cascading Style Sheets (CSS) Tutorials Overview
Welcome to CSS Tutorials. The objective of these tutorials is to provide in depth understanding of Cascading Style Sheets (CSS). In these tutorials we will cover topics such as CSS Tables, CSS Images, CSS Fonts, CSS Styling, CSS Attributes, Fonts etc.
In addition to free tutorials, we will cover common interview questions, issues and how to's of CSS.
- CSS Margins & Paddings
- Cross Browser Compatibility Issues in CSS
- CSS Element Visbility
- CSS Attribute Selectors
- CSS Floats
- CSS Positioning
- CSS Lists Properties
- CSS Tables & Cursors
- CSS Images Properties
- CSS Colors & Background
- CSS Fonts
- CSS Comments & Units
- CSS Style Element
What is CSS?
CSS stand for Cascading Style Sheets.
Styles define how to display HTML elements.
Styles were added to HTML 4.0 to solve a problem
External Style Sheets can save a lot of work
External Style Sheets are stored in CSS files.
Styles Solved a Big Problem
HTML was never intended to conation tags for formatting a document.
HTML was intended to define the content of a document, like:
<h1>This is a heading</h1>
<p> This is a paragraph</p>
When tags like <font>, and color attribute were added to the HTML 3.2 specification, it started a nightmare for web `developers. Development of large websites, where fonts and color information were added to every single page, became a long and expensive process.
To solve this problem, the World Wide Web Consortium (W3C) created CSS.
In HTML 4.0 all formatting could be removed from the HTML document, and stored in a separate CSS file.
All browsers support CSS today.
CSS Saves a Lot of Work!
CSS defines HOW HTML elements are to be displayed.
Styles are normally saved in external.css files. External style sheets enable you to change the appearance and layout of all the pages in a Web site, just by editing one single file!
A CSS rule has two main parts: a selector, and one or more declarations:
The selector is normally the HTML element you want to style.
Each declaration consists of a property and a value.
The property is the style attribute you want to change .Ecah prpoeryty has value.
A CSS comprises of style rules that are interpreted by the browser and then applied to the corresponding elements in your document .A style rule is made of three parts:
Selector: A selector is an HTML tag at which style will be applied. This could be any tab like <hl> or <table>etc.
Property: A property is a type of attribute of HTML tag. Put simply, all the HTML attributes are converted into CSS properties .They could be color or border
Value: Values are assigned to properties .For example color property can have value either red or #F1F1F1
You can put CSS style Rule Syntax as follows:
Here table is a selector and border is a property and give value 1px solid #C00 is the value of that property.
You can define selectors in various simple ways based on your comfort. Let me put these selectors one by one.
CSS Type Selectors
This is the same selector we have seen above .Again one more example to give color to all level 1 headings:
CSS Universal Selectors
Rather than selecting elements of a specific type, the universal selector quite simply matches the name of any element type:
This rule renders the content of every element in our document in black.
CSS Descendant Selectors
Suppose you want to apply a style to a particular element only when it lies inside a particular element. As given in the following example, style rule will apply to <em> element only when it lies inside <ul> tag.
CSS Class Selectors
You can define style rules based on the class attribute of the elements. All the elements having that class will be formatted according to the defined rule.
This rule renders the content in black for every element with class attribute set to black in our document. You can make it a bit more particular .For example:
This rule renders the content in black for only <h1> elements with class attribute set to black.
You can apply more than one class selectors to given element. Consider the following example:
CSS ID Selectors
You can define style rules based on the id attribute of the elements. All the elements having that id will be formatted according to the defined rule.
This rule renders the content in black for every element with id attribute set to black in our document .You can make it a bit more particular .For example:
This rule render the content in black for only <h1> elements with id attribute set to black.
The true power of id selectors is when they are used as the foundation for descendant selectors, For example:
In this example all level 2 headings will be displayed in black color only when those headings will lie within tags having id attribute set to black.
CSS Child Selectors
You have seen descendant selectors. There is one more type of selectors which is very similar to descendants but have different functionality. Consider the following example:
This rule will render all the paragraphs in black if they are direct child of <body> element. Other paragraphs put inside other elements like <div> or <td> etc. would not have any effect of this rule.
CSS Attributes Selectors
You can also apply styles to HTML elements with particular attributes. The style rule below will match all input elements that has a type attributes with a value of text:
The advantage to this method is that the <input type=”submit”/> element is unaffected, and the color applied only to the desired text fields.
There are following rules applied to attribute selector.
- p[lang]-Selects all paragraphs elements with a lang attribute.
- p[lang=”fr”]- Selects all paragraphs elements whose lang attribute has a value of exactly”fr”.
- p[lang~=”fr”]- Selects all paragraphs elements whose lang attribute contains the word”fr”.
- p[lang|=”en”]- Selects all paragraphs elements whose lang attribute contains values that are exactly “en” or begin with “en-“.
CSS Multiple Style Rules
You may need to define multiple style rules for a single element. You can define these rules to combine multiple properties and corresponding values into a single block as defined in the following example:
Here all the property and value pairs are separated by a semi colon (;) You can keep them in a single line or multiple lines. For better readability we keep them into separate lines.
You can apply a style to many selectors if you like. Just separate the selectors with a comma as given in the following example:
This define style rule will be applicable to h1,h2, and h3 element as well. The order of the list is irrelevant. All the elements in the selector will have the corresponding declaration applied to them.
You can combine various class selectors together as shown below:
There are four ways to associate styles with your HTML document .Most commonly used methods are inline CSS and External CSS>. We will talk about this in next tutorial