Css Tutorials

Wednesday, July 22, 2009

Styles Solved a Big Problem

The original HTML was never intended to contain tags for formatting a document. HTML tags were intended to define the content of a document, like:


<p>This is a paragraph.</p>


<h1>This is a heading</h1>


When tags like <font> and color attributes were added to the HTML 3.2 specification, it started a nightmare for web developers. Development of large web sites where fonts and color information had to be added to every single Web page, became a long, expensive and unduly painful process.


To solve this problem, the World Wide Web Consortium (W3C) - responsible for standardizing HTML - created CSS in addition to HTML 4.0.


With HTML 4.0, all formatting can be removed from the HTML document and stored in a separate CSS file.


All browsers support CSS today.





CSS Saves a Lot of Work

Styles sheets define 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 CSS document!





Multiple Styles Will Cascade into One

Style sheets allow style information to be specified in many ways.


Styles can be specified:


inside an HTML element

inside the head section of an HTML page

in an external CSS file

Tip: Even multiple external style sheets can be referenced inside a single HTML document.


Cascading order - What style will be used when there is more than one style specified for an HTML element?

Generally speaking we can say that all the styles will "cascade" into a new "virtual" style sheet by the following rules, where number four has the highest priority:


Browser default

External style sheet

Internal style sheet (in the head section)

Inline style (inside an HTML element)

So, an inline style (inside an HTML element) has the highest priority, which means that it will override a style defined inside the <head> tag, or in an external style sheet, or in a browser (a default value).


If the link to the external style sheet is placed after the internal style sheet in HTML <head>, the external style sheet will override the internal style sheet!



The CSS syntax is made up of three parts: a selector, a property and a value:


selector {property:value}


The selector is normally the HTML element/tag you wish to define, the property is the attribute you wish to change, and each property can take a value. The property and value are separated by a colon, and surrounded by curly braces:


body {color:black}


Note: If the value is multiple words, put quotes around the value:


p {font-family:"sans serif"}


Note: If you want to specify more than one property, you must separate each property with a semicolon. The example below shows how to define a center aligned paragraph, with a red text color:


p {text-align:center;color:red}


To make the style definitions more readable, you can describe one property on each line, like this:













You can group selectors. Separate each selector with a comma. In the example below we have grouped all the header elements. All header elements will be displayed in green text color:










The class Selector

With the class selector you can define different styles for the same type of HTML element.


Say that you would like to have two types of paragraphs in your document: one right-aligned paragraph, and one center-aligned paragraph. Here is how you can do it with styles:


p.right {text-align:right}

p.center {text-align:center}


You have to use the class attribute in your HTML document:


<p class="right">This paragraph will be right-aligned.</p>

<p class="center">This paragraph will be center-aligned.</p>


Note: To apply more than one class per given element, the syntax is:


<p class="center bold">This is a paragraph.</p>


The paragraph above will be styled by the class "center" AND the class "bold".


You can also omit the tag name in the selector to define a style that will be used by all HTML elements that have a certain class. In the example below, all HTML elements with class="center" will be center-aligned:


.center {text-align:center}


In the code below both the h1 element and the p element have class="center". This means that both elements will follow the rules in the ".center" selector:


<h1 class="center">This heading will be center-aligned</h1>

<p class="center">This paragraph will also be center-aligned.</p>


Do NOT start a class name with a number! It will not work in Mozilla/Firefox.





Add Styles to Elements with Particular Attributes

You can also apply styles to HTML elements with particular attributes.


The style rule below will match all input elements that have a type attribute with a value of "text":


input[type="text"] {background-color:blue}





The id Selector

You can also define styles for HTML elements with the id selector. The id selector is defined as a #.


The style rule below will match the element that has an id attribute with a value of "green":


#green {color:green}


The style rule below will match the p element that has an id with a value of "para1":








Do NOT start an ID name with a number! It will not work in Mozilla/Firefox.





CSS Comments

Comments are used to explain your code, and may help you when you edit the source code at a later date. A comment will be ignored by browsers. A CSS comment begins with "/*", and ends with "*/", like this:


/*This is a comment*/




/*This is another comment*/






For more help


share this post
Share to Facebook Share to Twitter Share to Google+ Share to Stumble Upon Share to Evernote Share to Blogger Share to Email Share to Yahoo Messenger More...