What You Should Already Know: Home Page
What You Should Already Know: Home Page
Before you continue you should have some basic understanding of the following:
HTML / XHTML
If you want to study this subject first, find the tutorials on our Home page.
What is CSS?
CSS stands for Cascading Style Sheets
Styles define how to display HTML elements
Styles are normally stored in Style Sheets
Styles were added to HTML 4.0 to solve a problem
External Style Sheets can save you a lot of work
External Style Sheets are stored in CSS files
Multiple style definitions will cascade into one
CSS Demo
With CSS, your HTML documents can be displayed using different output styles:
HTML tags were originally designed to define the content of a document. They were supposed to
say "This is a header", "This is a paragraph", "This is a table", by using tags like <h1>, <p>,
<table>, and so on. The layout of the document was supposed to be taken care of by the
browser, without using any formatting tags.
As the two major browsers - Netscape and Internet Explorer - continued to add new HTML tags
and attributes (like the <font> tag and the color attribute) to the original HTML specification, it
became more and more difficult to create Web sites where the content of HTML documents was
clearly separated from the document's presentation layout.
To solve this problem, the World Wide Web Consortium (W3C) - the non profit, standard setting
consortium, responsible for standardizing HTML - created STYLES in addition to HTML 4.0.
Styles sheets define HOW HTML elements are to be displayed, just like the font tag and the
color attribute in HTML 3.2. Styles are normally saved in external .css files. External style sheets
enable you to change the appearance and layout of all the pages in your Web, just by editing
one single CSS document!
CSS is a breakthrough in Web design because it allows developers to control the style and
layout of multiple Web pages all at once. As a Web developer you can define a style for each
HTML element and apply it to as many Web pages as you want. To make a global change,
simply change the style, and all elements in the Web are updated automatically.
Style sheets allow style information to be specified in many ways. Styles can be specified inside
a single HTML element, inside the <head> element of an HTML page, or in an external CSS file.
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:
1. Browser default
2. External style sheet
3. Internal style sheet (inside the <head> tag)
4. 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 declared inside the <head> tag, in an external style sheet, or in a browser (a
default value).
Note: If the external style sheet link is placed below the internal style sheet in HTML <head>,
the external style sheet will override the internal style sheet.
Syntax
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:
p
{
text-align:center;
color:black;
font-family:arial
}
Grouping
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:
h1,h2,h3,h4,h5,h6
{
color:green
}
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}
Note: To apply more than one class per given element, the syntax is:
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:
Do NOT start a class name with a number! It will not work in Mozilla/Firefox.
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":
p#para1
{
text-align:center;
color:red
}
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*/
p
{
text-align:center;
/*This is another comment*/
color:black;
font-family:arial
}
Examples
Look at Example 1
Look at Example 2
When a browser reads a style sheet, it will format the document according to it. There are three
ways of inserting a style sheet:
An external style sheet is ideal when the style is applied to many pages. With an
external style sheet, you can change the look of an entire Web site by changing one
file. Each page must link to the style sheet using the <link> tag. The <link> tag goes
inside the head section:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
The browser will read the style definitions from the file mystyle.css, and format the document
according to it.
An external style sheet can be written in any text editor. The file should not contain
any html tags. Your style sheet should be saved with a .css extension. An example of a
style sheet file is shown below:
hr {color:sienna}
p {margin-left:20px}
body {background-image:url("images/back40.gif")}
Do not leave spaces between the property value and the units! "margin-left:20 px" (instead
of "margin-left:20px") will only work in IE6, but it will not work in Firefox or Opera.
An internal style sheet should be used when a single document has a unique style. You
define internal styles in the head section by using the <style> tag, like this:
<head>
<style type="text/css">
hr {color:sienna}
p {margin-left:20px}
body {background-image:url("images/back40.gif")}
</style>
</head>
The browser will now read the style definitions, and format the document according to it.
Note: A browser normally ignores unknown tags. This means that an old browser that
does not support styles, will ignore the <style> tag, but the content of the <style> tag
will be displayed on the page. It is possible to prevent an old browser from displaying
the content by hiding it in the HTML comment element:
<head>
<style type="text/css">
<!--
hr {color:sienna}
p {margin-left:20px}
body {background-image:url("images/back40.gif")}
-->
</style>
</head>
Inline Styles
An inline style loses many of the advantages of style sheets by mixing content with
presentation. Use this method sparingly, such as when a style is to be applied to a single
occurrence of an element.
To use inline styles you use the style attribute in the relevant tag. The style attribute
can contain any CSS property. The example shows how to change the color and the
left margin of a paragraph:
If some properties have been set for the same selector in different style sheets, the values will
be inherited from the more specific style sheet.
For example, an external style sheet has these properties for the h3 selector:
h3
{
color:red;
text-align:left;
font-size:8pt
}
And an internal style sheet has these properties for the h3 selector:
h3
{
text-align:right;
font-size:20pt
}
If the page with the internal style sheet also links to the external style sheet the
properties for h3 will be:
color:red;
text-align:right;
font-size:20pt
The color is inherited from the external style sheet and the text-alignment and the font-size is
replaced by the internal style sheet.
Examples
The CSS background properties allow you to control the background color of an element, set an
image as the background, repeat a background image vertically or horizontally, and position an
image on a page.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Examples
The CSS font properties allow you to change the font family, boldness, size, and the style of a
text.
Note: In CSS1 fonts are identified by a font name. If a browser does not support the specified
font, it will use a default font.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Examples
The CSS border properties allow you to specify the style and color of an element's border. In
HTML we use tables to create borders around a text, but with the CSS border properties we can
create borders with nice effects, and it can be applied to any element.
Browser support: IE: Internet Explorer, F: Firefox, N: Netscape.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
The CSS outline properties is used to draw a line around an element, outside the
border edge.
Examples
An outline is a line that is drawn around elements, outside the border edge, to make the
element "stand out".
The CSS outline properties sets the outlines around elements. You can specify the style, color,
and width of the outline.
Note: Outlines do not take up space, and they do not have to be rectangular.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Examples
The CSS margin properties define the space around elements. It is possible to use negative
values to overlap content. The top, right, bottom, and left margin can be changed independently
using separate properties. A shorthand margin property can also be used to change all of the
margins at once.
Note: Netscape and IE give the body tag a default margin of 8px. Opera does not! Instead,
Opera applies a default padding of 8px, so if one wants to adjust the margin for an entire page
and have it display correctly in Opera, the body padding must be set as well!
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
The CSS padding properties define the space between the element border and the
element content.
Examples
The CSS padding properties define the space between the element border and the element
content. Negative values are not allowed. The top, right, bottom, and left padding can be
changed independently using separate properties. A shorthand padding property is also created
to control multiple sides at once.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Examples
The CSS list properties allow you to place the list-item marker, change between different list-
item markers, or set an image as the list-item marker.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
The CSS table properties allow you to set the layout of a table.
Examples
The CSS table properties allow you to set the layout of a table.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
The CSS dimension properties allow you to control the height and width of an
element. It also allows you to increase the space between two lines.
Examples
The CSS dimension properties allow you to control the height and width of an element. It also
allows you to increase the space between two lines.
Browser support: IE: Internet Explorer, F: Firefox, N: Netscape.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
The CSS classification properties allow you to specify how and where to display an
element.
Examples
An image with border and margins that floats to the right in a paragraph
Let an image float to the right in a paragraph. Add border and margins to the image.
Position:absolute
This example demonstrates how to position an element using an absolute value.
The CSS classification properties allow you to control how to display an element, set where an
image will appear in another element, position an element relative to its normal position,
position an element using an absolute value, and how to control the visibility of an element.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Examples
Position:relative
This example demonstrates how to position an element relative to its normal position.
Position:absolute
This example demonstrates how to position an element using an absolute value.
Position:fixed
This example demonstrates how to position an element with relative to the browser window.
Z-index
Z-index can be used to place an element "behind" another element.
Z-index
The elements in the example above have now changed their Z-index.
Set the top edge of an image using a pixel value
This example demonstrates how to set the top edge of an element using a pixel value.
The CSS positioning properties allow you to specify the left, right, top, and bottom position of
an element. It also allows you to set the shape of an element, place an element behind another,
and to specify what should happen when an element's content is too big to fit in a specified
area.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Examples
Hyperlink
This example demonstrates how to add different colors to a hyperlink in a document.
Hyperlink 2
This example demonstrates how to add other styles to hyperlinks.
Syntax
selector:pseudo-class {property:value}
selector.class:pseudo-class {property:value}
Anchor Pseudo-classes
Note: a:hover MUST come after a:link and a:visited in the CSS definition in order to be
effective!!
Note: a:active MUST come after a:hover in the CSS definition in order to be effective!!
Note: Pseudo-class names are not case-sensitive.
a.red:visited {color:#FF0000}
If the link in the example above has been visited, it will be displayed in red.
The :first-child pseudo-class matches a specified element that is the first child of another
element.
In the following example, the selector matches any <p> element that is the first child
of any element:
Example
<html>
<head>
<style type="text/css">
p:first-child
{
color:blue
}
</style>
</head>
<body>
<p>I am a strong man.</p>
<p>I am a strong man.</p>
</body>
</html>
In the following example, the selector matches the first <i> element in all <p>
elements:
Example
<html>
<head>
<style type="text/css">
p > i:first-child
{
font-weight:bold
}
</style>
</head>
<body>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
</body>
</html>
In the following example, the selector matches all <i> elements in <p> elements that
are the first child of another element:
Example
<html>
<head>
<style type="text/css">
p:first-child i
{
color:blue
}
</style>
</head>
<body>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
<p>I am a <i>strong</i> man. I am a <i>strong</i> man.</p>
</body>
</html>
The :lang pseudo-class allows you to define special rules for different languages. In
the example below, the :lang class defines the type of quotation marks for q elements
with a lang attribute with a value of "no":
<html>
<head>
<style type="text/css">
q:lang(no)
{
quotes:"~" "~"
}
</style>
</head>
<body>
<p>Some text <q lang="no">A quote in a paragraph</q>
Some text.</p>
</body>
</html>
Pseudo-classes
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Image Gallery
Image gallery
<html>
<head>
<style type="text/css">
div.img
{
margin:2px;
border:1px solid #0000ff;
height:auto;
width:auto;
float:left;
text-align:center;
}
div.img img
{
display:inline;
margin:3px;
border:1px solid #ffffff;
}
div.img a:hover img
{
border:1px solid #0000ff;
}
div.desc
{
text-align:center;
font-weight:normal;
width:120px;
margin:2px;
}
</style>
</head>
<body>
<div class="img">
<a target="_blank" href="klematis_big.htm">
<img src="klematis_small.jpg" alt="Klematis" width="110" height="90"
/>
</a>
<div class="desc">Add a description of the image here</div>
</div>
<div class="img">
<a target="_blank" href="klematis2_big.htm">
<img src="klematis2_small.jpg" alt="Klematis" width="110"
height="90" />
</a>
<div class="desc">Add a description of the image here</div>
</div>
<div class="img">
<a target="_blank" href="klematis3_big.htm">
<img src="klematis3_small.jpg" alt="Klematis" width="110"
height="90" />
</a>
<div class="desc">Add a description of the image here</div>
</div>
<div class="img">
<a target="_blank" href="klematis4_big.htm">
<img src="klematis4_small.jpg" alt="Klematis" width="110"
height="90" />
</a>
<div class="desc">Add a description of the image here</div>
</div>
</body>
</html>
Examples
Note: This is not yet a CSS standard. However, it works in all modern browsers, and is a part of
the W3C CSS 3 recommendation.
First we will show you how to create a transparent image with CSS.
Regular image:
Firefox uses the property opacity:x for transparency, while IE uses filter:alpha(opacity=x).
In Firefox (opacity:x) x can be a value from 0.0 - 1.0. A lower value makes the element more
transparent.
In IE (filter:alpha(opacity=x)) x can be a value from 0 - 100. A lower value makes the element
more transparent.
We see that the first line of the source code is similar to the source code in Example 1. In
addition, we have added an onmouseover attribute and an onmouseout attribute. The
onmouseover attribute defines what will happen when the mouse pointer moves over the image.
In this case we want the image to NOT be transparent when we move the mouse pointer over it.
The syntax for this in Firefox is: this.style.opacity=1 and the syntax in IE is:
this.filters.alpha.opacity=100.
When the mouse pointer moves away from the image, we want the image to be transparent
again. This is done in the onmouseout attribute.
<html>
<head>
<style type="text/css">
div.background
{
width:500px;
height:250px;
background:url(klematis.jpg) repeat;
border:2px solid black;
}
div.transbox
{
width:400px;
height:180px;
margin:30px 50px;
background-color:#ffffff;
border:1px solid black;
/* for IE */
filter:alpha(opacity=60);
/* CSS3 standard */
opacity:0.6;
}
div.transbox p
{
margin:30px 40px;
font-weight:bold;
color:#000000;
}
</style>
</head>
<body>
<div class="background">
<div class="transbox">
<p>This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
This is some text that is placed in the transparent box.
</p>
</div>
</div>
</body>
</html>
First, we create a div element (class="background") with a fixed height and width, a
background image, and a border. Then we create a smaller div (class="transbox") inside the
first div element. This div also have a fixed width, a background image, and a border. In
addition we make this div transparent.
Media Types allow you to specify how documents will be presented in different media.
The document can be displayed differently on the screen, on the paper, with an aural
browser, etc.
Media Types
Some CSS properties are only designed for a certain media. For example the "voice-family"
property is designed for aural user agents. Some other properties can be used for different
media types. For example, the "font-size" property can be used for both screen and print media,
but perhaps with different values. A document usually needs a larger font-size on a screen than
on paper, and sans-serif fonts are easier to read on the screen, while serif fonts are easier to
read on paper.
The @media rule allows different style rules for different media in the same style sheet.
The style in the example below tells the browser to display a 14 pixels Verdana font
on the screen. But if the page is printed, it will be in a 10 pixels Times font. Notice
that the font-weight is set to bold, both on screen and on paper:
<html>
<head>
<style>
@media screen
{
p.test {font-family:verdana,sans-serif;font-size:14px}
}
@media print
{
p.test {font-family:times,serif;font-size:10px}
}
@media screen,print
{
p.test {font-weight:bold}
}
</style>
</head>
<body>
....
</body>
</html>
See it yourself ! If you are using Mozilla/Firefox or IE 5+ and print this page, you will see that
the paragraph under "Media Types" will be displayed in another font, and have a smaller font
size than the rest of the text.
Here are some technologies you should try to avoid when using CSS.
What is it? Internet Explorer 5 introduced behaviors. Behaviors are a way to add behaviors to
HTML elements with the use of CSS styles.
Why avoid it? The behavior attribute is only supported by Internet Explorer.
What to use instead? Use JavaScript and the HTML DOM instead.
The following HTML file has a <style> element that defines a behavior for the <h1>
element:
<html>
<head>
<style type="text/css">
h1 { behavior:url(behave.htc) }
</style>
</head>
<body>
<h1>Mouse over me!!!</h1>
</body>
</html>
The behavior file contains a JavaScript and event handlers for the elements.
<script type="text/javascript">
function hig_lite()
{
element.style.color='red';
}
function low_lite()
{
element.style.color='blue';
}
</script>
The following HTML file has a <style> element that defines a behavior for elements
with an id of "typing":
<html>
<head>
<style type="text/css">
#typing
{
behavior:url(behave_typing.htc);
font-family:"courier new";
}
</style>
</head>
<body>
<span id="typing" speed="100">IE5 introduced DHTML behaviors.
Behaviors are a way to add DHTML functionality to HTML elements
with the ease of CSS.<br /><br />How do behaviors work?<br />
By using XML we can link behaviors to any element in a web page
and manipulate that element.</p>
</span>
</body>
</html>
<script type="text/javascript">
var i,text1,text2,textLength,t;
function beginTyping()
{
i=0;
text1=element.innerText;
textLength=text1.length;
element.innerText="";
text2="";
t=window.setInterval(element.id+".type()",speed);
}
function type()
{
text2=text2+text1.substring(i,i+1);
element.innerText=text2;
i=i+1;
if (i==textLength)
{
clearInterval(t);
}
}
</script>
CSS Summary
This tutorial has taught you how to create style sheets to control the style and layout of multiple
web sites at once.
You have learned how to use CSS to add backgrounds, format text, add and format borders,
and specify padding and margins of elements.
You have also learned how to position an element, control the visibility and size of an element,
set the shape of an element, place an element behind another, and to add special effects to
some selectors, like links.
For more information on CSS, please take a look at our CSS examples and our CSS reference.
XHTML
If you want to learn more about XHTML, please visit our XHTML tutorial.
JavaScript
A static web site is nice when you just want to show flat content, but a dynamic web site can
react to events and allow user interaction.
JavaScript is the most popular scripting language on the internet and it works with all major
browsers.
If you want to learn more about JavaScript, please visit our JavaScript tutorial.
The perfect solution for busy professionals who need to balance work,
family, and career building.
The HTML Certificate documents your knowledge of HTML, XHTML, and CSS.
The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM.
The XML Certificate documents your knowledge of XML, XML DOM and XSLT.
The ASP Certificate documents your knowledge of ASP, SQL, and ADO.
The PHP Certificate documents your knowledge of PHP and SQL (MySQL).
Text
Font
Border
Margin
Padding
List
Table
Dimension
Classification
Positioning
Generated Content
Pseudo-classes
Pseudo-classes explained
Pseudo-elements
Pseudo-elements explained
The links in the "Property" column point to more useful information about each
property.
W3C: The number in the "W3C" column indicates in which CSS recommendation the property is
defined (CSS1 or CSS2).
Background
Property Description Values IE F N W3C
background A shorthand property for background-color 4 1 6 1
setting all background background-image
properties in one declaration background-repeat
background-attachment
background-position
background- Sets whether a background scroll 4 1 6 1
attachment image is fixed or scrolls with fixed
the rest of the page
background-color Sets the background color of color-rgb 4 1 4 1
an element color-hex
color-name
transparent
background-image Sets an image as the url(URL) 4 1 4 1
background none
background-position Sets the starting position of top left 4 1 6 1
a background image top center
top right
center left
center center
center right
bottom left
bottom center
bottom right
x% y%
xpos ypos
background-repeat Sets if/how a background repeat 4 1 4 1
image will be repeated repeat-x
repeat-y
no-repeat
Border
Property Description Values IE F N W3C
border A shorthand property for border-width 4 1 4 1
setting all of the properties border-style
for the four borders in one border-color
declaration
border-bottom A shorthand property for border-bottom-width 4 1 6 1
setting all of the properties border-style
for the bottom border in one border-color
declaration
border-bottom-color Sets the color of the bottom border-color 4 1 6 2
border
border-bottom-style Sets the style of the bottom border-style 4 1 6 2
border
border-bottom-width Sets the width of the bottom thin 4 1 4 1
border medium
thick
length
border-color Sets the color of the four color 4 1 6 1
borders, can have from one
to four colors
border-left A shorthand property for border-left-width 4 1 6 1
setting all of the properties border-style
for the left border in one border-color
declaration
border-left-color Sets the color of the left border-color 4 1 6 2
border
border-left-style Sets the style of the left border-style 4 1 6 2
border
border-left-width Sets the width of the left thin 4 1 4 1
border medium
thick
length
border-right A shorthand property for border-right-width 4 1 6 1
setting all of the properties border-style
for the right border in one border-color
declaration
border-right-color Sets the color of the right border-color 4 1 6 2
border
border-right-style Sets the style of the right border-style 4 1 6 2
border
border-right-width Sets the width of the right thin 4 1 4 1
border medium
thick
length
border-style Sets the style of the four none 4 1 6 1
borders, can have from one hidden
to four styles dotted
dashed
solid
double
groove
ridge
inset
outset
border-top A shorthand property for border-top-width 4 1 6 1
setting all of the properties border-style
for the top border in one border-color
declaration
border-top-color Sets the color of the top border-color 4 1 6 2
border
border-top-style Sets the style of the top border-style 4 1 6 2
border
border-top-width Sets the width of the top thin 4 1 4 1
border medium
thick
length
border-width A shorthand property for thin 4 1 4 1
setting the width of the four medium
borders in one declaration, thick
can have from one to four length
values
Classification
Property Description Values IE F N W3C
clear Sets the sides of an element left 4 1 4 1
where other floating right
elements are not allowed both
none
cursor Specifies the type of cursor url 4 1 6 2
to be displayed auto
crosshair
default
pointer
move
e-resize
ne-resize
nw-resize
n-resize
se-resize
sw-resize
s-resize
w-resize
text
wait
help
display Sets how/if an element is none 4 1 4 1
displayed inline
block
list-item
run-in
compact
marker
table
inline-table
table-row-group
table-header-group
table-footer-group
table-row
table-column-group
table-column
table-cell
table-caption
float Sets where an image or a left 4 1 4 1
text will appear in another right
element none
position Places an element in a static, static 4 1 4 2
relative, absolute or fixed relative
position absolute
fixed
visibility Sets if an element should be visible 4 1 6 2
visible or invisible hidden
collapse
Dimension
Property Description Values IE F N W3C
height Sets the height of an auto 4 1 6 1
element length
%
line-height Sets the distance between normal 4 1 4 1
lines number
length
%
max-height Sets the maximum height of none - 1 6 2
an element length
%
max-width Sets the maximum width of none - 1 6 2
an element length
%
min-height Sets the minimum height of length - 1 6 2
an element %
min-width Sets the minimum width of length - 1 6 2
an element %
width Sets the width of an element auto 4 1 4 1
%
length
Font
Property Description Values IE F N W3C
font A shorthand property for font-style 4 1 4 1
setting all of the properties font-variant
for a font in one declaration font-weight
font-size/line-height
font-family
caption
icon
menu
message-box
small-caption
status-bar
font-family A prioritized list of font family-name 3 1 4 1
family names and/or generic generic-family
family names for an element
font-size Sets the size of a font xx-small 3 1 4 1
x-small
small
medium
large
x-large
xx-large
smaller
larger
length
%
font-size-adjust Specifies an aspect value for none - 1 - 2
an element that will preserve number
the x-height of the first-
choice font
font-stretch Condenses or expands the normal - - - 2
current font-family wider
narrower
ultra-condensed
extra-condensed
condensed
semi-condensed
semi-expanded
expanded
extra-expanded
ultra-expanded
font-style Sets the style of the font normal 4 1 4 1
italic
oblique
font-variant Displays text in a small-caps normal 4 1 6 1
font or a normal font small-caps
font-weight Sets the weight of a font normal 4 1 4 1
bold
bolder
lighter
100
200
300
400
500
600
700
800
900
Generated Content
Property Description Values IE F N W3C
content Generates content in a string 1 6 2
document. Used with the url
:before and :after pseudo- counter(name)
elements counter(name, list-
style-type)
counters(name, string)
counters(name, string,
list-style-type)
attr(X)
open-quote
close-quote
no-open-quote
no-close-quote
counter-increment Sets how much the counter none 2
increments on each identifier number
occurrence of a selector
counter-reset Sets the value the counter is none 2
set to on each occurrence of identifier number
a selector
quotes Sets the type of quotation none - 1 6 2
marks string string
Margin
Property Description Values IE F N W3C
margin A shorthand property for margin-top 4 1 4 1
setting the margin properties margin-right
in one declaration margin-bottom
margin-left
margin-bottom Sets the bottom margin of auto 4 1 4 1
an element length
%
margin-left Sets the left margin of an auto 3 1 4 1
element length
%
margin-right Sets the right margin of an auto 3 1 4 1
element length
%
margin-top Sets the top margin of an auto 3 1 4 1
element length
%
Outlines
Property Description Values IE F N W3C
outline A shorthand property for outline-color - 1.5 - 2
setting all the outline outline-style
properties in one declaration outline-width
outline-color Sets the color of the outline color - 1.5 - 2
around an element invert
outline-style Sets the style of the outline none - 1.5 - 2
around an element dotted
dashed
solid
double
groove
ridge
inset
outset
outline-width Sets the width of the outline thin - 1.5 - 2
around an element medium
thick
length
Padding
Property Description Values IE F N W3C
padding A shorthand property for padding-top 4 1 4 1
setting all of the padding padding-right
properties in one declaration padding-bottom
padding-left
padding-bottom Sets the bottom padding of length 4 1 4 1
an element %
padding-left Sets the left padding of an length 4 1 4 1
element %
padding-right Sets the right padding of an length 4 1 4 1
element %
padding-top Sets the top padding of an length 4 1 4 1
element %
Positioning
Property Description Values IE F N W3C
bottom Sets how far the bottom auto 5 1 6 2
edge of an element is %
above/below the bottom length
edge of the parent element
clip Sets the shape of an shape 4 1 6 2
element. The element is auto
clipped into this shape, and
displayed
left Sets how far the left edge of auto 4 1 4 2
an element is to the %
right/left of the left edge of length
the parent element
overflow Sets what happens if the visible 4 1 6 2
content of an element hidden
overflow its area scroll
auto
position Places an element in a static, static 4 1 4 2
relative, absolute or fixed relative
position absolute
fixed
right Sets how far the right edge auto 5 1 6 2
of an element is to the %
left/right of the right edge of length
the parent element
top Sets how far the top edge of auto 4 1 4 2
an element is above/below %
the top edge of the parent length
element
vertical-align Sets the vertical alignment baseline 4 1 4 1
of an element sub
super
top
text-top
middle
bottom
text-bottom
length
%
z-index Sets the stack order of an auto 4 1 6 2
element number
Table
Property Description Values IE F N W3C
border-collapse Sets whether the table collapse 5 1 7 2
borders are collapsed into a separate
single border or detached as
in standard HTML
border-spacing Sets the distance that length length 5M 1 6 2
separates cell borders (only
for the "separated borders"
model)
caption-side Sets the position of the table top 5M 1 6 2
caption bottom
left
right
empty-cells Sets whether or not to show show 5M 1 6 2
empty cells in a table (only hide
for the "separated borders"
model)
table-layout Sets the algorithm used to auto 5 1 6 2
display the table cells, rows, fixed
and columns
Text
Property Description Values IE F N W3C
color Sets the color of a text color 3 1 4 1
direction Sets the text direction ltr 6 1 6 2
rtl
line-height Sets the distance between normal 4 1 4 1
lines number
length
%
letter-spacing Increase or decrease the normal 4 1 6 1
space between characters length
text-align Aligns the text in an element left 4 1 4 1
right
center
justify
text-decoration Adds decoration to text none 4 1 4 1
underline
overline
line-through
blink
text-indent Indents the first line of text length 4 1 4 1
in an element %
text-shadow none
color
length
text-transform Controls the letters in an none 4 1 4 1
element capitalize
uppercase
lowercase
unicode-bidi normal 5 2
embed
bidi-override
white-space Sets how white space inside normal 5 1 4 1
an element is handled pre
nowrap
word-spacing Increase or decrease the normal 6 1 6 1
space between words length
Pseudo-classes
Pseudo-class Purpose IE F N W3C
:active Adds special style to an activated element 4 1 8 1
:focus Adds special style to an element while the element - 1.5 8 2
has focus
:hover Adds special style to an element when you mouse 4 1 7 1
over it
:link Adds special style to an unvisited link 3 1 4 1
:visited Adds special style to a visited link 3 1 4 1
:first-child Adds special style to an element that is the first child - 1 7 2
of some other element
:lang Allows the author to specify a language to use in a - 1 8 2
specified element
Pseudo-elements
Pseudo-element Purpose IE F N W3C
:first-letter Adds special style to the first letter of a text 5 1 8 1
:first-line Adds special style to the first line of a text 5 1 8 1
:before Inserts some content before an element 1.5 8 2
:after Inserts some content after an element 1.5 8 2
Print Properties
Printing HTML documents has always been problematic. In CSS2 the print properties are added
to make it easier to print from the Web.
The links in the "Property" column point to more useful information about the specific property.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
by blind people
to help users learning to read
to help users who have reading problems
for home entertainment
in the car
by print-impaired communities
The aural presentation converts the document to plain text and feed this to a screen reader (a
program that reads all the characters on the screen).
h1,h2,h3,h4
{
voice-family:male;
richness:80;
cue-before:url("beep.au")
}
The example above will make the speech synthesizer play a sound, then speak the headers in a
very rich male voice.
W3C: The number in the "W3C" column indicates in which CSS recommendation the
property is defined (CSS1 or CSS2).
Measurements
Unit Description
% percentage
in inch
cm centimeter
mm millimeter
em 1em is equal to the current font size. 2em means 2 times the size of the
current font. E.g., if an element is displayed with a font of 12 pt, then
'2em' is 24 pt. The 'em' is a very useful unit in CSS, since it can adapt
automatically to the font that the reader uses
ex one ex is the x-height of a font (x-height is usually about half the font-
size)
pt point (1 pt is the same as 1/72 inch)
pc pica (1 pc is the same as 12 points)
px pixels (a dot on the computer screen)
Colors
Unit Description
color_name A color name (e.g. red)
rgb(x,x,x) An RGB value (e.g. rgb(255,0,0))
rgb(x%, x%, x%) An RGB percentage value (e.g. rgb(100%,0%,0%))
#rrggbb A HEX number (e.g. #ff0000)
Color Values
CSS colors are defined using a hexadecimal (hex) notation for the combination of Red, Green,
and Blue color values (RGB). The lowest value that can be given to one of the light sources is 0
(hex 00). The highest value is 255 (hex FF).
Hex values are written as 3 double digit numbers, starting with a # sign.
Color Examples
Color Color HEX Color RGB
#000000 rgb(0,0,0)
#FF0000 rgb(255,0,0)
#00FF00 rgb(0,255,0)
#0000FF rgb(0,0,255)
#FFFF00 rgb(255,255,0)
#00FFFF rgb(0,255,255)
#FF00FF rgb(255,0,255)
#C0C0C0 rgb(192,192,192)
#FFFFFF rgb(255,255,255)
The combination of Red, Green and Blue values from 0 to 255 gives a total of more than 16
million different colors to play with (256 x 256 x 256).
Most modern monitors are capable of displaying at least 16384 different colors.
If you look at the color table below, you will see the result of varying the red light from 0 to
255, while keeping the green and blue light at zero.
To see a full list of color mixes when the red light varies from 0 to 255, click on one
of the hex or rgb values below.
Shades of Gray
Gray colors are displayed using an equal amount of power to all of the light sources.
To make it easier for you to select the right gray color we have compiled a table of
gray shades for you:
A collection of nearly 150 color names are supported by all major browsers.
The World Wide Web Consortium (W3C) has listed 16 valid color names for HTML and CSS:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal,
white, and yellow.
If you want to use other colors, you should specify their HEX value.
Some years ago, when computers supported max 256 different colors, a list of 216 "Web Safe
Colors" was suggested as a Web standard, reserving 40 fixed system colors.
This is not important now, since most computers can display millions of different colors, but the
choice is left to you.
The 216 cross-browser color palette was created to ensure that all computers would
display the colors correctly when running a 256 color palette:
The table below provides a list of the color values that are supported by all major browsers.
Click on a hex value (or a color name) to view the color as the background-color along with
different text colors:
Note: The names above are not a part of the W3C web standard.
The W3C HTML and CSS standards have listed only 16 valid color names:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal,
white, and yellow.
If you want valid HTML or CSS use the HEX values instead.
The table below provides a list of the color names that are supported by all major browsers.
Click on a color name (or a hex value) to view the color as the background-color along with
different text colors:
Note: The names above are not a part of the W3C web standard.
The W3C HTML and CSS standards have listed only 16 valid color names:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal,
white, and yellow.
If you want valid HTML or CSS use the HEX values instead.