SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
2012
CSS TUTORIAL




    Mr.D.S.Kiran
    D.S.Technologies
CSS TUTORIAL 2012




                          D.S.Kiran is the founder of D.S.Technologies.


                          He is maintaining a web site called eBookDust
                          (www.ebookdust.com) over the last several
                          years providing eBooks and Materials.


                          And He is a self-taught web designer and SEO
                          expert. He is an entrepreneur, designer,
                          developer, and overall thinker. Your comments
                          and suggestions are always welcome!




2   Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012




Topic Name                                              Page No
 Introduction                                             4

 Advantages                                               5

 Using this Tutorial                                      6

 Selectors                                                7

 Tag Selectors                                            8

 Class Selectors                                          9

 ID Selectors                                             10

 Grouped Selectors                                        11

 Context Dependant Selectors                              12

 Where to Place It                                        13

 Single Tags                                              14

 Single Pages                                             15

 Entire Sites                                             16

 CSS Text                                                 18

 CSS Colors                                               20

 CSS Links                                                23

 CSS Lists                                                26

 CSS Layers                                               28



   3   Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                 INTRODUCTION
CSS stands for Cascading Style Sheets. It is a way to divide the content from the layout on web pages.

How it works:
A style is a definition of fonts, colors, etc.

Each style has a unique name: a selector.

The selectors and their styles are defined in one place.

In your HTML contents you simply refer to the selectors whenever you want to activate a certain style.


For example:
Instead of defining fonts and colors each time you start a new table cell, you can define a style and then, simply refer to that style in
your table cells.

Compare the following examples of a simple table:
Classic HTML
                     <table>

                     <tr><td bgcolor="#FFCC00" align="left"><font face="arial" size="2"
                     color="red"><b>this is line 1</b></font></td></tr>

                     <tr><td bgcolor="#FFCC00" align="left"><font face="arial" size="2"
                     color="red"><b>this is line 2</b></font></td></tr>

                     <tr><td bgcolor="#FFCC00" align="left"><font face="arial" size="2"
                     color="red"><b>this is line 3</b></font></td></tr>

                     </table>




With CSS (assuming that a selector called subtext is defined)
                     <table>
                     <tr><td class="subtext">this is line 1</td></tr>
                     <tr><td class="subtext">this is line 2</td></tr>
                     <tr><td class="subtext">this is line 3</td></tr>
                     </table>




While CSS lets you separate the layout from the content, it also lets you define the layout much more powerfully than you could
with classic HTML.




         4     Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                   ADVANTAGES

With CSS, you will be able to:
- define the look of your pages in one place rather than repeating yourself over and over again throughout your site. (Ever get
tired of defining colors and fonts each time you start a new cell in a table? Those days are over with CSS!)

- easily change the look of your pages even after they're created. Since the styles are defined in one place you can change the
look of the entire site at once. (Ever get tired of replacing tags throughout your site when you want to change the look of a certain
element? Those days are over with CSS!)

- define font sizes and similar attributes with the same accuracy as you have with a word processor - not being limited to just the
seven different font sizes defined in HTML.

- position the content of your pages with pixel precision.
- redefine entire HTML tags. Say for example, if you wanted the bold tag to be red using a special font - this can be done easily
with CSS.

- define customized styles for links - such as getting rid of the underline.
- define layers that can be positioned on top of each other (often used for menus that pop up).


Your pages will load faster, since they aren't filled with tags that define the look. The style definitions are kept in a single CSS
document that is only loaded once when a visitor enters your site.



The one disadvantage is:

- these will only work on version 4 browsers or newer. However, more than 95% of all browsers live up to that.




         5    Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                          USING THIS TUTORIAL
This tutorial has been laid out so that it can be used both as a future reference and as an ongoing tutorial starting at page 1.
The tutorial has been divided into 6 logical sections.

         Explain the different types of selectors.
         Practical uses of selectors, easy ways to define styles, etc.
         How to define CSS at different levels: Tags, Pages and Sites.
         A listing of the attributes that can be set for inline tags, block tags and links.
         How to add layers to your pages.
         Problems related to cross browser compatibility.




And that is all you need to know about CSS to become an expert!


Proceed to start learning about selectors...




         6    Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                        SELECTORS

Selectors are the names that you give to your different styles.
In the style definition you define how each selector should work (font, color etc.).
Then, in the body of your pages, you refer to these selectors to activate the styles.
For example:

                   <HTML>
                   <HEAD>
                   <style type="text/css">
                   B.headline {color:red; font-size:22px; font-family:arial; text-decoration:underline}
                   </style>

                   </HEAD>

                   <BODY>
                   <b>This is normal bold</b><br>
                   <b class="headline">This is headline style bold</b>
                   </BODY>

                   </HTML>




In this case B.headline is the selector.
The above example would result in this output:

                   This is normal bold
                   This is headline style bold


There are three types of selectors:

                   HTML selectors
                   Used to define styles associated to HTML tags. (A way to redefine the look of tags)

                   Class selectors
                   Used to define styles that can be used without redefining plain HTML tags.

                   ID selectors
                   Used to define styles relating to objects with a unique ID (most often layers)


Proceed to learn about each of these types...




         7     Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                              TAG SELECTORS

The general syntax for an HTML selector is:
HTMLSelector {Property:Value;}

For example:
                  <HTML>
                  <HEAD>
                  <style type="text/css">
                  B {font-family:arial; font-size:14px; color:red}
                  </style>

                  </HEAD>

                  <BODY>
                  <b>This is a customized headline style bold</b>
                  </BODY>

                  </HTML>




HTML selectors are used when you want to redefine the general look for an entire HTML tag.




        8      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                               CLASS SELECTORS
The general syntax for a Class selector is:
.ClassSelector {Property:Value;}

For example:
                   <HTML>
                   <HEAD>
                   <style type="text/css">
                   .headline {font-family:arial; font-size:14px; color:red}
                   </style>

                   </HEAD>

                   <BODY>
                   <b class="headline">This is a bold tag carrying the headline class</b>
                   <br>
                   <i class="headline">This is an italics tag carrying the headline class</i>
                   </BODY>

                   </HTML>




Class selectors are used when you want to define a style that does not redefine an HTML tag entirely.
When referring to a Class selector you simply add the class to an HTML tag like in the above example (class="headline").




SPAN and DIV as carriers

Two tags are particularly useful in combination with class selectors: <SPAN> and<DIV>.
Both are "dummy" tags that don't do anything in themselves. Therefore, they are excellent for carrying CSS styles.

                   <SPAN> is an "inline-tag" in HTML, meaning that no line breaks are inserted before or after the use of it.

                   <DIV> is a "block tag", meaning that line breaks are automatically inserted to distance the block from the
                   surrounding content (like <P> or <TABLE> tags).


<DIV> has a particular importance for layers. Since layers are separate blocks of information. <DIV> is an obvious choice when
defining layers on your pages.




        9      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                 ID SELECTORS
The general syntax for an ID selector is:
#IDSelector {Property:Value;}

For example:
                   <HTML>
                   <HEAD>
                   <style type="text/css">
                   #layer1 {position:absolute; left:100;top:100; z-Index:0}
                   #layer2 {position:absolute; left:140;top:140; z-Index:1}
                   </style>
                   </HEAD>

                   <BODY>
                   <div ID="layer1">
                   <table border="1" bgcolor="#FFCC00"><tr><td>THIS IS LAYER 1<br>POSITIONED AT
                   100,100</td></tr></table>
                   </div>

                   <div ID="layer2">
                   <table border="1" bgcolor="#00CCFF"><tr><td>THIS IS LAYER 2<br>POSITIONED AT
                   140,140</td></tr></table>
                   </div>
                   </BODY>
                   </HTML>




ID selectors are used when you want to define a style relating to an object with a unique ID.
This selector is most widely used with layers (as in the above example), since layers are always defined with a unique ID.




      10       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                          GROUPED SELECTORS

Most often selectors will share some of the same styles, for example, being based on the same font.
In these cases, rather than defining the font for each and every selector, one by one, you can group them, and thus assign the font
to all the selectors at once.

Look at this example, made without grouping:


                   .headlines{
                   font-family:arial; color:black; background:yellow; font-size:14pt;
                   }

                   .sublines {
                   font-family:arial; color:black; background:yellow; font-size:12pt;
                   }

                   .infotext {
                   font-family:arial; color:black; background:yellow; font-size:10pt;
                   }




As you can see, the only style that varies is the font-size.
In the next example we have grouped the selectors, and defined the common styles at once.


                   .headlines, .sublines, .infotext {
                   font-family:arial; color:black; background:yellow;
                   }

                   .headlines {font-size:14pt;}
                   .sublines {font-size:12pt;}
                   .infotext {font-size: 10pt;}




Less to type, easier to change and guaranteed to be the same for all styles.




      11      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                             CONTEXT DEPENDANT SELECTORS

It is possible to make selectors that will only work in certain contexts.
For example, you can define a style for the <B> tag that is only triggered if the text is not only bold but also written in italics.
For example, the style should be in effect here:

                    <i><b>example</b></i>




but not here :


                    <b>example</b>.




THE SYNTAX
Simply adding a normal style to the <B> tag is done like this:


                    B {font-size:16px}




Adding a context dependent style, like the one described above is done like this:

                    I B {font-size:16px;}




We simply separated the contextual <I> tag from the <B> tag with a space.



USING GROUPED AND CONTEXT DEPENDENT SELECTORS AT THE SAME TIME:
It is possible to use context dependent and grouped selectors at the same time.
For example, like this:

                    I B, .headlines, B .sublines {font-size:16px;}




In the example the font-size of 16 pixels is in effect on:
1) All <B> tags enclosed by <I> tags
2) All headlines classes.
3) sublines classes enclosed by <B> tags.




      12         Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                             WHERE TO PLACE IT

CSS can be added to your pages at 3 different levels.
It is possible to create CSS styles that only work for the single tag it is defined for.
Single tag CSS is used when the style is used in a single place on the entire site.
Usually a certain style appears more than once on your pages, and thus you should use the second technique: adding styles that
are defined once for the entire page.

If, however, that certain style is used on more than a single page, you should use the third - and most powerful - technique
described: adding styles that are defined once for the entire site.

The following pages will explain each of these techniques....




      13       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012


                                                       SINGLE TAGS

CSS can be defined for single tags by simply addingstyle="styledefinition:styleattribute;" to the tags.
Look at this example:

                    It is <b style="font-size:16px;">NOT</b> me.




You should limit your use of single tag CSS.
If you define your styles for each and every tag they're used on, you will lose much of the power associated with CSS.
For example, you will have to define the style over and over again whenever it's used, rather than just defining it once and then
referring to that one definition whenever it's used.

Furthermore, if you wanted to change a certain style, you'd have to change it all over in your document, rather than in one place.




      14      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012


                                                             SINGLE PAGES
CSS can be defined for entire pages by simply adding a style definition to the head section.
Look at this example:

                             <html>
                             <head>
                             <title>MY CSS PAGE</title>
                             <style type="text/css">
                             .headlines, .sublines, infotext {font-face:arial; color:black; background:yellow;
                             font-weight:bold;}
                             .headlines {font-size:14pt;}
                             .sublines {font-size:12pt;}
                             .infotext {font-size: 10pt;}
                             </style>
                             </head>

                             <body>
                             <span class="headlines">Welcome</span><br>

                             <div class="sublines">
                             This is an example page using CSS.<br>
                             The example is really simple,<br>
                             and doesn't even look good,<br>
                             but it shows the technique.
                             </div>

                             <table border="2"><tr><td class="sublines">
                             As you can see:<br>
                             The styles even work on tables.
                             </td></tr></table>

                             <hr>

                             <div class="infotext">
                             Example from EchoEcho.Com.
                             </div>

                             <hr>
                             </body>
                             </html>



In the above example, although we used the sublines style twice, we only had to define it once: in the <head>section.
By defining styles for entire pages, you will gain the freedom to easily change the styles even after the entire page has been made.
This is an obvious advantage for you as a designer. But the advantage is on the visitors side as well.
Since the styles are only defined in one place, the page size will be smaller, and thus faster to load.

There is a way to emphasize these advantages even more: using external CSS styles that work for entire sites.




                15      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012


                                                     ENTIRE SITES
CSS can be defined for entire sites by simply writing the CSS definitions in a plain text file that is referred to from each of the pages
in the site.

Rather than writing the entire CSS definition on each page, as in the previous examples, you can write it to a text file that is only
loaded on the first page that a visitor sees at your site.
When the visitor jumps to other pages, the CSS text file will be cached and thus doesn't have to be transferred via the internet for
subsequent pages.

This means that your pages will load faster while at the same time you will have extreme flexibility to change the style for your
entire site even after it has been made.

Look at this example:
File: example.html


                     <html>
                     <head>
                     <title>MY CSS PAGE</title>
                     <link rel=stylesheet href="whatever.css" type="text/css">
                     </head>
                     <body>
                     <span class="headlines">Welcome</span><br>

                     <div class="sublines">
                     This is an example of a page using CSS.<br>
                     The example is really simple,<br>
                     and doesn't even look good,<br>
                     but it shows the technique.
                     </div>

                     <table border="2"><tr><td class="sublines">
                     As you can see:<br>
                     The styles even work on tables.
                     </td></tr></table>

                     <hr>

                     <div class="infotext">Example from EchoEcho.Com.</div>

                     <hr>
                     </body>
                     </html>




The above example is the exact same as we used for CSS defined for entire pages, with one important exception:
There is no style definition on the page. Instead we added a reference to an external style sheet:


                     <link rel=stylesheet href="whatever.css" type="text/css">

This means that the browser will look for a file called whatever.css and insert it at the place where the reference was found in the
html document.

So in order to complete our example we need to have a file called whatever.css that looks like this:
File: whatever.css



                     .headlines, .sublines, infotext {font-face:arial; color:black; background:yellow;
                     font-weight:bold;}
                     .headlines {font-size:14pt;}
                     .sublines {font-size:12pt;}
                     .infotext {font-size: 10pt;}




       16      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012
Now if you just add the line <link rel=stylesheet href="whatever.css" type="text/css"> to the <head> of all your pages, then
the one style definition will be in effect for your entire site.

Imagine the power and flexibility this gives you to make changes to the layout even after the site is done.
But also realize how using an external style sheet will guarantee that all pages are following the same thread.
There won't be single pages that you forgot to update when you decided to change the style for your headers.




At this point of the tutorial you should know:

                     1: how to define styles for tags, classes and objects with ID's.
                     2: how to group styles and make them context dependent
                     3: how to add styles to single tags, single pages and entire sites




All we need now is a walkthrough of the various style attributes that can be assigned.
We will divide them into three categories:

                     1: Inline attributes. (Works on tags like: <SPAN>, <B> and <I>).
                     2: Block attributes. (Works on block tags: <DIV>, <TD> and <P>).
                     3: Link attributes. (Works on links and use a special syntax).




       17      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                        CSS TEXT

CSS has several options for defining the styles of text.
These options can entirely replace the <font> tag, but there's even more. CSS allows you to define these styles much more
powerfully than you could ever do with plain HTML.

FONT PROPERTIES
                   Property              Values            NS    IE   Example
                   font-family           font name         4+    4+   font-family:arial
                                         generic font      4+    4+   font-family:arial, helvetica

                   font-style            normal            4+    4+   font-style:normal
                                         italic            4+    4+   font-style:italic
                                         oblique                 4+   font-style:oblique

                   font-variant          normal                  4+   font-variant:normal
                                         small-caps              4+   font-variant:small-caps

                   font-weight           normal            4+    4+   font-weight:normal
                                         bold              4+    4+   font-weight:bold
                                         bolder            4W    4+   font-weight:bolder
                                         lighter           4W    4+   font-weight:lighter
                                         100-900           4+    4+   font-weight:250

                   font-size             normal            4+    4+
                                                                      font-size:normal
                                         length            4+    4+   font-size:14px
                                         length            4+    4+   font-size:14pt
                                         absolute          4+    4+   font-size:xx-small
                                         absolute          4+    4+   font-size:x-small
                                         absolute          4+    4+   font-size:small
                                         absolute          4+    4+   font-size:medium
                                         absolute          4+    4+   font-size:large
                                         absolute          4+    4+   font-size:x-large
                                         absolute          4+    4+   font-size:xx-large
                                                                      font-size:smaller
                                         relative          4+    4+
                                                                      font-size:larger
                                         relative          4+    4+   font-size:75%
                                         percentage        4+    4+


4P:problems, 4M:Mac only, 4W:Windows only




ASSIGNING ALL FONT ATTRIBUTES AT ONCE
An example of a typical font definition would be:

                   B {font-family:arial, helvetica; font-size:12px; font-weight:bold;}




But since all font attributes can actually be expressed with the font property we could actually write it this way:

                   B {font:arial, helvetica 12px bold}




The above is obviously a shorter way to specify font settings - but in reality it is less useful than one might think. The reason is that
you'd be assigning the same font face to all your styles, for example, while you'd want different font weights and sizes for headers
and content areas etc.




      18      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

TEXT PROPERTIES
Despite the font properties listed above there are some options for defining text properties such as alignments, underlines, etc.

                   Property                                           Values                        NS         IE        Example
                   line-height                                        normal                        4W         4+        line-height:normal
                                                                      number                        4+         4P        line-height:1.5
                                                                      length                        4+         4+        line-height:22px
                                                                      percentage                    4+         4P        line-height:150%

                   text-decoration                                    none                          4+         4M
                                                                                                                         text-decoration:none
                                                                      underline                     4+         4+        text-decoration:underline
                                                                      overline                                 4W        text-decoration:overline
                                                                      line-through                  4+         4+        text-decoration:line-through
                                                                                                                         text-decoration:blink
                                                                      blink                         4+
                   text-transform                                     none                          4+         4W        text-transform:none
                                                                      capitalize                    4+         4W        text-transform:capitalize
                                                                      uppercase                     4+         4W        text-transform:uppercase
                                                                                                                         text-transform:lowercase
                                                                      lowercase                     4+         4W
                   text-align                                         left                          4+         4+        text-align:left
                                                                      right                         4+         4+        text-align:right
                                                                      center                        4+         4+        text-align:center
                                                                      justify                       4+         4W        text-align:justify

                   text-indent                                        length                        4+         4+        text-indent:20px;
                                                                      percentage                    4+         4+        text-indent:10%

                   white-space                                        normal                        4+                   white-space:normal
                                                                      pre                           4+                   white-space:pre


4P:problems, 4M:Mac only, 4W:Windows only




                  Note:

                  line-height :
                  When using a number (such as 1.5) the number refers to the font size, where 1.5 would mean that a 1.5 lines spacing (using the current font size) will be
                  inserted between the lines.

                  text-transform :
                  Capitalize sets the first letter of each word in uppercase.
                  Uppercase forces all letters to uppercase.
                  Lowercase forces all letters to lowercase.

                  text-indent :
                  Use this to indent the first word of a paragraph.

                  white-space :
                  If white-space is set to   pre the browser will show all spaces in the text, rather than ignoring all occurrences of more than one space. This is similar to
                  the<pre> tag in plain HTML. Since the white-space is only supported by NS you should use the            <pre> tag instead.




The official CSS standard provided by W3C also includes properties for word spacing, letter spacing and vertical align, but these
aren't supported by today's browsers.


COLORS
As you can see, the above CSS properties can replace all text formatting that can be done with plain HTML with one
exception: the color.
The color is not part of the font collection in CSS - rather it has its own definition.
If you want to add a color to the text in the above example you'd do it this way:


                   B {font:arial, helvetica 12px bold; color:red}




      19      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                         CSS Colors

CSS has several options for defining colors of both text and background areas on your pages.
These options can entirely replace the color attributes in plain HTML. In addition, you get new options that you just didn't have in
plain HTML.

For example, in plain HTML, when you wanted to create an area with a specific color you were forced to include a table. With CSS,
you can define an area to have a specific color without that area being part of a table.

Or even more useful, in plain HTML when working with tables, you had to specify font attributes and colors etc. for each and every
table cell. With CSS you can simply refer to a certain class in your <TD> tags.




COLOR PROPERTIES
                    Property                                     Values                                 NS     IE
                    color                                        <color>                                4+     4+

                    background-color
                                                                 transparent                            4+     4+
                                                                 <color>                                4+     4+
                                                                 none                                   4+     4+
                    background-image
                                                                 url(<URL>)                             4+     4+
                                                                 repeat                                 4+     4+
                                                                 repeat-x                               4+     4+
                    background-repeat
                                                                 repeat-y                               4+     4+
                                                                 no-repeat                              4+     4+
                                                                 scroll                                        4+
                    background-attachment
                                                                 fixed                                         4+
                                                                 <percentage>                                  4+
                                                                 <length>                                      4+
                                                                 top                                           4+
                    background-position                          center                                        4+
                                                                 bottom                                        4+
                                                                 left                                          4+
                                                                 right                                         4+
                                                                 <background-color>                     4+     4+
                                                                 <background-image>                     4+     4+
                    background                                   <background-repeat>                    4+     4+
                                                                 <background-attachment>                       4+
                                                                 <background-position>                         4+


4P:problems, 4M:Mac only, 4W:Windows only


Setting colors
Basically you have three color options with CSS:
1: Setting the foreground color for contents
2: Setting the background color for an area
3: Setting a background image to fill out an area

In the next section we will list the different properties that let you
do that.

In plain HTML, colors can either be entered by name (red, blue etc.) or by a hexadecimal color code (for example: #FF9900).

      20       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

With CSS you have these options:


                 Common name
                 You can define colors with the use of common names, by simply enter the name of the desired color.

                 For example:


                  .myclass {color:red; background-color:blue;}




                 Hexadecimal value
                 You can define colors with the use of hexadecimal values, similar to how it's done in plain HTML.

                 For example:


                  .myclass {color:#000000; background-color:#FFCC00;}




                 RGB value
                 You can define colors with the use of RGB values, by simply entering the values for amounts of Red, Green
                 and Blue.

                 For example:


                  .myclass {color:rgb(255,255,204); background-color:rgb(51,51,102);}



                 You can also define RGB colors using percentage values for the amounts of Red, Green and Blue:
                 For example:


                  .myclass {color:rgb(100%,100%,81%); background-color:rgb(81%,18%,100%);}




Setting background colors

Background colors are defined similar to the colors mentioned above. For example you can set the background color of the entire
page using the BODYselector:


                  BODY {background-color:#FF6666;}




      21     Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

Setting a background image
CSS lets you set a background image for both the page and single elements on the page.

In addition, CSS offers several positioning methods for background images.
You can define the background image for the page like this:
                   BODY {background-image:url(myimage.gif);}




You can control the repetition of the image with the background-repeatproperty.

                   background-repeat:repeat
                   Tiles the image until the entire page is filled, just like an ordinary background image in plain HTML.

                   background-repeat:repeat-x
                   Repeats the image horizontally - but not vertically.

                   background-repeat:repeat-y
                   Repeats the image vertically - but not horizontally.

                   background-repeat:no-repeat
                   Does not tile the image at all.




Positioning a background
Background positioning is done by entering a value for the left position and top position separated by a space.

In this example the image is positioned 75 pixels from the upper left corner of the page:

                   BODY {background-image:url(myimage.gif); background-position: 75px 75px;}




Note: Background positioning is not supported by Netscape 4 browsers.



Fixing a background
You can fixate an image at a certain position so that it doesn't move when scrolling occurs.


                   BODY {background-image:url(myimage.gif); background-attachment: fixed;}



Note: Background fixation is not supported by Netscape 4 browsers.

Setting multiple background values
Rather than defining each background property with its own property you can assign them all with the use of
the background property.

Look at this example:

                   BODY {background:green url(myimage.gif) repeat-y fixed 75px 75px;}




      22      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                           CSS Links

CSS has several options for redefining the style of links.

LINK PROPERTIES

                   Property                                        Values                    NS         IE
                   A:link                                          <style>                   4+         4+
                   A:visited                                       <style>                   4+         4+
                   A:active                                        <style>                   4+         4+
                   A:hover                                         <style>                   6+         4+




DEFINING STYLES FOR LINKS
As mentioned in the above table, there are four different selectors with respect to links.
You can specify whatever style you'd like to each of these selectors, just like you'd do with normal text.
The four selectors are:


                   A:link
                   Defines the style for normal unvisited links.

                   A:visited
                   Defines the style for visited links.

                   A:active
                   Defines the style for active links.
                   A link becomes active once you click on it.

                   A:hover
                   Defines the style for hovered links.
                   A link is hovered when the mouse moves over it.
                   Note: Not supported by Netscape browsers prior to version 6.




PRACTICAL EXAMPLES
Here you can see a few examples on how CSS can be used to replace the traditional image based mouseover effects for links.
The hover style is not supported by Netscape browsers prior to version 6, but since it does no harm, you can still use it for the
benefit of the +90% of visitors that arrive using MSIE).

One of the most common uses of CSS with links is to remove the underline. Typically it's done so that the underline appears only
when a hover occurs. In the example below, we did just that. In addition we added a red color for hovered links.

Example: Hover
                   <style type="text/css">
                   A:link {text-decoration: none}
                   A:visited {text-decoration: none}
                   A:active {text-decoration: none}
                   A:hover {text-decoration: underline; color: red;}
                   </style>




      23      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

Another example would be to create links that are both underlined andoverlined.
Example: Underline/Overline
                    <style type="text/css">
                    A:link {text-decoration: none}
                    A:visited {text-decoration: none}
                    A:active {text-decoration: none}
                    A:hover {text-decoration: underline overline; color: red;}
                    </style>




A third example would be to create links that change in size
when hovered.

Example: Size changing links
                    <style type="text/css">
                    A:link {text-decoration: none}
                    A:visited {text-decoration: none}
                    A:active {text-decoration: none}
                    A:hover {font-size:24; font-weight:bold; color: red;}
                    </style>




A final example would be to create links that have a permanent background color, obviously standing out from the rest.
Example: Background colored links

                    <style type="text/css">
                    A:link {background: #FFCC00; text-decoration: none}
                    A:visited {background: #FFCC00; text-decoration: none}
                    A:active {background: #FFCC00; text-decoration: none}
                    A:hover {background: #FFCC00; font-weight:bold; color: red;}
                    </style>




MULTIPLE LINKSTYLES ON SAME PAGE
The final topic deals with how to add multiple link styles that can be used on the same page.
In the above examples we addressed the HTML selector - A:link etc - and thus redefined the overall link style.
How do we define a link style that is only active in a certain area of the page?
The answer is: context dependent selectors.
Rather than addressing the A:link selector we will address it while being dependant on a certain outer class that surrounds the
area where we'd like our link style to be effective.




      24      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

For example:


                    <html>
                    <head>
                    <style type="text/css">
                    .class1 A:link {text-decoration: none}
                    .class1 A:visited {text-decoration: none}
                    .class1 A:active {text-decoration: none}
                    .class1 A:hover {text-decoration: underline; color: red;}

                    .class2 A:link {text-decoration: underline overline}
                    .class2 A:visited {text-decoration: underline overline}
                    .class2 A:active {text-decoration: underline overline}
                    .class2 A:hover {text-decoration: underline; color: green;}
                    </style>
                    </head>

                    <body>
                    ONE TYPE OF LINKS
                    <br>
                    <span class="class1">
                    <a href="http://www.yahoo.com">YAHOO</a>
                    <br>
                    <a href="http://www.google.com">GOOGLE</a>
                    </span>
                    <br>
                    <br>
                    ANOTHER TYPE OF LINKS
                    <br>
                    <span class="class2">
                    <a href="http://www.yahoo.com">YAHOO</a>
                    <br>
                    <a href="http://www.google.com">GOOGLE</a>
                    </span>
                    </body>
                    </html>




Note how we use the <span> to define the context.
This is smart for two reasons:

1) The obvious, that it allows us to use different link styles on
the same page, rather than being limited to using a single
overall link style.

2) We can define entire areas where a certain link style works for all links within that area. Thus, we don't have to add a style
definition to each and every link in that area.




      25       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                                 CSS Lists

CSS allows you to customize the lists that can be made
with HTML.

The good news is that there are many powerful properties for doing so.
The bad news is that Netscape and Internet Explorer often support these properties in different ways. Both browsers have
limitations in their support of list styles.
Netscape browsers only let you add the list CSS to <LI> tags - not just any tag.
Internet Explorer's support of CSS with relation to lists is only fully supported for browsers on the Windows platform.
In any case, be careful about using CSS for lists since it might not show the way you want it to on all browsers. However, most
things won't ruin anything if the browser doesn't support it - it just shows as a normal list - so it will be okay to define lists that only
work for the most widely used browser.

LIST PROPERTIES
                     Property                                                 Values                                        NS       IE
                                                                              disc                                          4+       4W
                                                                              circle                                        4+       4W
                                                                              square                                        4+       4W
                                                                              decimal                                       4+       4W
                     list-style type                                          lower-roman                                   4+       4W
                                                                              upper-roman                                   4+       4W
                                                                              lower-alpha                                   4+       4W
                                                                              upper-alpha                                   4+       4W
                                                                              none                                                   4W

                     list-style image
                                                                              none                                                   4W
                                                                              url(<url>)                                             4W
                                                                              outside                                                4W
                     list-style position
                                                                              inside                                                 4W
                                                                              <list-style type>                                      4W
                     list-style                                               <list style position>                                  4W
                                                                              <list-style image>                                     4w




4+: Browser version 4 or newer.
4W: Browser version 4 or newer, windows only.


DEFINING STYLES FOR LINKS
As mentioned in the above table, we have four unique selectors with respect to lists. The fourth selector, list-style is an overall
selector that let you define all list related styles at once.

The three basic selectors are:
                     list-style type
                     Defines the look of the bullets used in your list.

                     list-style image
                     Let's you use a custom graphic for bullets.

                     list-style position
                     Often the text in a list is longer than one line.
                     list-style position:outer lets the second line align with the first line. That is: the bullet is to the left of both
                     lines.
                     list-style position:inner lets the second line align with the bullet.




       26       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

    Assigning several properties at once
    Instead of using different selectors for each list-style you can specify them all at once using the list-style property.



    For example:

                       <html>
                       <head>
                       <style type="text/css">
                       LI.list1 {list-style: circle outside; color:green;}
                       LI.list2 {list-style: square inside; color:blue}
                       .blacktext {color:black}
                       </style>
                       </head>

                       <body>

                       <ul>
                       <li class="list1"><span class="blacktext">This is one black line</span>
                       <li class="list1">This is another line that is much longer than the first.          But it
                       isn't a black line since we did not specify a style for the text that goes          here other
                       than the style we defined for the list.
                       </ul>
                       <br>
                       <br>
                       <ul>
                       <li class="list2"><span class="blacktext">This is one black line</span>
                       <li class="list2">This is another line that is much longer than the first.          But it
                       isn't a black line since we did not specify a style for the text that goes          here other
                       than the style we defined for the list.

                       </ul>

                       </body>
                       </html>




    The lists from the above example would look like this:

o    This is one black line
o    This is another line that is
     much longer than the first.
     But it isn't a black line
     since we did not specify a
     style for the text that goes
     here other than the style
     we defined for the list.




    This is one black line
    This is another line that is
     much longer than the first.
     But it isn't a black line
     since we did not specify a
     style for the text that goes
     here other than the style
     we defined for
     the list.




          27      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                      CSS LAYERS

With CSS, it is possible to work with layers: pieces of HTML that are placed on top of the regular page with pixel precision.
The advantages of this are obvious - but once again Netscape has very limited support of CSS layers - and to top it off: the limited
support it offers is quite often executed with failures.

So the real challenge when working with layers is to make them work on Netscape browsers as well.

LAYER BASICS
First look at this example:

                                          LAYER 1 ON TOP:

                                          LAYER 1
                                          LAYER 2
                                          LAYER 2 ON TOP:

                                          LAYER 1
                                          LAYER 2
Second look at the code:

                    LAYER 1 ON TOP:
                    <div style="position:relative; font-size:50px; z-index:2;">LAYER 1</div>
                    <div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-
                    index:1">LAYER 2</div>

                    LAYER 2 ON TOP:
                    <div style="position:relative; font-size:50px; z-index:3;">LAYER 1</div>
                    <div style="position:relative; top:-50; left:5; color:red; font-size:80px; z-
                    index:4">LAYER 2</div>




To create a layer all you need to do is assign the position attribute to your style. The position can be either absolute or relative.
The position itself is defined with the top and left properties.
Finally, which layer is on top is defined with the z-index attribute.




      28       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

RELATIVE VERSUS ABSOLUTE POSITIONING
You can either position your layer calculated from the upper left corner(absolute) or calculated from the position where the layer
itself is inserted (relative).


                      position:absolute
                      If you define the position to be absolute it will be calculated from the upper left corner of the page - unless
                      the layer is defined inside another layer, in which case it will be calculated from the upper left corner of the
                      parent layer.


                      position:relative
                      If you define the position to be relative it will be relative to the position of the tag that carries the style.
                      That is, if you add a relatively positioned layer in the middle of the page, then the position will be calculated
                      from that exact spot in the middle of your page where it was added.




DEFINING THE POSITION
While the position property indicates the out spring of our coordinate system, the left and top properties defines the exact position
of our layer.

You can enter both positive and negative values for these properties - thus it is possible to place content higher up and further to
the left on the page than the logical position in the HTML code where the layer itself is defined.

In other words: at the bottom of your HTML code you can enter the code for a layer that is positioned at the top of the resulting
page.

Both left and top properties can be dynamically changed
with JavaScript.

This means that it is possible to move things around on the screen even after the page has finished loading.
In fact this technique can be (and has been) used to create entire games. Other uses might be menus that pop out when a mouse-
over is detected on a link. The possibilities are endless - but in order to keep things simple, we will not dig into details about these
dynamic HTML effects here.




POSITION IN THE STACK - THE Z-INDEX
Picture a game of 52 cards. If the ace of spades was at the bottom we'd say it had z-index:1;. If the queen of hearts was at the top
we'd say she had z-index:52;.

Try looking at the code example at the top of this page again, and see how we used the z-index to put LAYER 1 on top in the first
example, while we had LAYER 2 on top in the second example.

Very interesting possibilities arise from the fact that the z-index can be dynamically changed with JavaScript.
You could create several "pages" on top of each other - all on the same page. When the user clicks a link it will simply move the
layer with the desired info on top rather than load a new page. The techniques to create effects like that goes beyond the scope of
pure CSS however, so for now we will just refer to DHTML (Dynamic HTML - a mix between JavaScript and CSS) for further
explorations into that area.




        29      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

VISIBILE VERSUS HIDDEN LAYERS
A final property is the visibility property that will allow you to create invisible layers.
Why would anyone want to create an invisible layer? Well, imagine the possibilities it gives for adding pop-up menus and other cool
effects on your pages.

With dynamic HTML it is possible to change the visibility of a layer according to certain events. The most common use of this is to
create menus that pop out (like the sub menus in the START menu on Windows). The trick behind these menus is to create all
submenus as invisible layers. Then, when a mouse-over is detected on a link the according layer becomes visible. (Sounds pretty
easy - actually is pretty easy - except when tried on Netscape browsers that seem to have only a vague idea of the logic behind
CSS layers).

Valid values for the visibility property are: visible and hidden.
This example shows how to create an invisible layer:
                    <div style="position:relative; visibility:hidden;">HELLO!!!</div>




PRACTICAL USE OF LAYERS
It's obvious that layers offer certain possibilities for precise positioning of static elements on your pages.
In reality layers are often used in more dynamic ways:

                              Flying elements/banners on the page




                              Games where you move an object around




                              Menus that pop out when triggered




                              Menus that become visible when triggered




While all of these effects might seem pretty cool and useful - the fact is that the web is filled with dynamic effects that are much
more cool than the average visitor really likes.

The more you create a unique interface for your site the more you force the visitor to forget about what she is used to. Do not
underestimate the power of sticking to the elements that the average visitor is accustomed to.

What's cool about creating an effect that makes 90% of all web designers clap their hands while leaving 90% of non-web designers
confused or disappointed?

In any case, judge for yourself if a certain effect is really needed - and if so: do not hesitate to use it.




      30       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

                                                    CSS Cursors

Microsoft Internet Explorer 4+ and Netscape 6+ supports customized cursors defined with CSS.
Although the cursors will not have the customized look in other browsers it usually doesn't ruin anything. These browsers will
simply show the normal arrow-cursor which would be same case as if you refrained from customizing cursors at all.

So unless the page really doesn't work without the customized cursor there shouldn't be technical reasons for choosing not to.
However there might be other reasons for thinking twice before adding custom cursor to your pages. Many users are easily
confused or irritated when a site breaks the standard user interface.




CURSOR PROPERTIES
                   Look       Values               Look     NS    IE    Example

                              default              TEST     6+    4+    cursor:default


                              crosshair            TEST     6+    4+    cursor:crosshair


                              hand                 TEST           4+    cursor:hand


                              pointer              TEST     6+          cursor:pointer


                              Cross browser        TEST           4+    cursor:pointer;cursor:hand


                              move                 TEST     6+    4+    cursor:move


                              text                 TEST     6+    4+    cursor:text


                              wait                 TEST     6+    4+    cursor:wait


                              help                 TEST     6+    4+    cursor:help


                              n-resize             TEST     6+    4+    cursor:n-resize


                              ne-resize            TEST     6+    4+    cursor:ne-resize


                              e-resize             TEST     6+    4+    cursor:e-resize


                              se-resize            TEST     6+    4+    cursor:se-resize


                              s-resize             TEST     6+    4+    cursor:s-resize


                              sw-resize            TEST     6+    4+    cursor:sw-resize


                              w-resize             TEST     6+    4+    cursor:w-resize


                              nw-resize            TEST     4+    4+    cursor:nw-resize

                              progress             TEST           6+    cursor:progress


      31      Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012


                              not-allowed           TEST           6+   cursor:not-allowed



                              no-drop               TEST           6+   cursor:no-drop



                              vertical-text         TEST           6+   cursor:vertical-text



                              all-scroll            TEST           6+   cursor:all-scroll



                              col-resize            TEST           6+   cursor:col-resize



                              row-resize            TEST           6+   cursor:row-resize



                              cursor:url(uri)       TEST           6+   cursor:url(uri)




4P:problems, 4M:Mac only, 4W:Windows only




ADDING A CUSTOMIZED CURSOR
The syntax for a customized cursor is this:
(Position the mouse over each link to see the effect)

Selector {cursor:value}
For example:

                   <html>
                   <head>
                   <style type="text/css">
                   .xlink {cursor:crosshair}
                   .hlink{cursor:help}
                   </style>
                   </head>

                   <body>
                   <b>
                   <a href="mypage.htm" class="xlink">CROSS LINK</a>
                   <br>
                   <a href="mypage.htm" class="hlink">HELP LINK</a>
                   </b>
                   </body>
                   </html>




The links from the above example would look like this:

                                                             CROSS LINK

                                                             HELP LINK



      32       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012

REDEFINING THE CURSOR FOR ENTIRE PAGES
If you want to redefine the cursor so that it's not only showing up when moved over a link, you simply specify the desired cursor
using the body-selector.

For example:

                   <html>
                   <head>
                   <style type="text/css">
                   body {cursor:crosshair}
                   </style>
                   </head>

                   <body>
                   <b>
                   SOME TEXT
                   <br>
                   <a href="mypage.htm">ONE LINK</a>
                   <br>
                   <a href="mypage.htm">ANOTHER LINK</a>
                   </b>
                   </body>
                   </html>




REDEFINING THE CURSOR FOR AREAS ON A PAGE
If you want one look of the cursor in one area of the page and another look of the cursor in another area you can do it with context
dependant selectors.

This way, you create different styles for links, that are dependant on the context. Now if the context is set with a dummy tag, such
as <span> you don't have to specify the desired style each and every time there is a link in the section.

For example:


                   <html>
                   <head>
                   <style type="text/css">
                   .xlink A{cursor:crosshair}
                   .hlink A{cursor:help}
                   </style>
                   </head>

                   <body>
                   <b>
                   <span class="xlink">
                   <a href="mypage.htm">CROSS LINK 1</a><br>
                   <a href="mypage.htm">CROSS LINK 2</a><br>
                   <a href="mypage.htm">CROSS LINK 3</a><br>
                   </span>
                   <br>
                   <span class="hlink">
                   <a href="mypage.htm">HELP LINK 1</a><br>
                   <a href="mypage.htm">HELP LINK 2</a><br>
                   <a href="mypage.htm">HELP LINK 3</a><br>
                   </span>
                   </b>
                   </body>
                   </html>




      33       Contact the Author At: informtods@gmail.com
CSS TUTORIAL 2012




34   Contact the Author At: informtods@gmail.com

Mais conteúdo relacionado

Mais procurados (18)

Css training tutorial css3 &amp; css4 essentials
Css training tutorial css3 &amp; css4 essentialsCss training tutorial css3 &amp; css4 essentials
Css training tutorial css3 &amp; css4 essentials
 
Css
CssCss
Css
 
Rh10 css presentation
Rh10 css presentationRh10 css presentation
Rh10 css presentation
 
Introduction to CSS3
Introduction to CSS3Introduction to CSS3
Introduction to CSS3
 
Css lecture notes
Css lecture notesCss lecture notes
Css lecture notes
 
CSS
CSSCSS
CSS
 
Css
CssCss
Css
 
Introduction to css
Introduction to cssIntroduction to css
Introduction to css
 
Cascading Style Sheet
Cascading Style SheetCascading Style Sheet
Cascading Style Sheet
 
Introducing Cascading Style Sheets
Introducing Cascading Style SheetsIntroducing Cascading Style Sheets
Introducing Cascading Style Sheets
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and more
 
Introduction to css
Introduction to cssIntroduction to css
Introduction to css
 
Css for Development
Css for DevelopmentCss for Development
Css for Development
 
Css siva
Css sivaCss siva
Css siva
 
Cascading Style Sheet | CSS
Cascading Style Sheet | CSSCascading Style Sheet | CSS
Cascading Style Sheet | CSS
 
CSS Part I
CSS Part ICSS Part I
CSS Part I
 
Unit 2.1
Unit 2.1Unit 2.1
Unit 2.1
 
Cascading style sheets (CSS)
Cascading style sheets (CSS)Cascading style sheets (CSS)
Cascading style sheets (CSS)
 

Destaque

ConFoo 2016: Making Sense of CSS Layout
ConFoo 2016: Making Sense of CSS LayoutConFoo 2016: Making Sense of CSS Layout
ConFoo 2016: Making Sense of CSS LayoutRachel Andrew
 
Fluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS LayoutFluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS LayoutRachel Andrew
 
Real-time parallax error compensation in head-mounted eye trackers
Real-time parallax error compensation in head-mounted eye trackersReal-time parallax error compensation in head-mounted eye trackers
Real-time parallax error compensation in head-mounted eye trackersDiako Mardanbegi
 
CSS Parallax - DotCSS 2014
CSS Parallax - DotCSS 2014CSS Parallax - DotCSS 2014
CSS Parallax - DotCSS 2014Guido Bouman
 
Pixlr.com Website Tutorial
Pixlr.com Website TutorialPixlr.com Website Tutorial
Pixlr.com Website TutorialJasmine Ancheta
 
Inline Layout
Inline LayoutInline Layout
Inline LayoutTakazudo
 
HTML & CSS: Chapter 03
HTML & CSS: Chapter 03HTML & CSS: Chapter 03
HTML & CSS: Chapter 03Steve Guinan
 
How to create a html webpage using notepad
How to create a html webpage using notepadHow to create a html webpage using notepad
How to create a html webpage using notepadSophieBarwick1999
 
Div Tag Tutorial
Div Tag TutorialDiv Tag Tutorial
Div Tag Tutorialbav123
 
The Future of CSS Layout
The Future of CSS LayoutThe Future of CSS Layout
The Future of CSS LayoutZoe Gillenwater
 
Intro to HTML and CSS
Intro to HTML and CSSIntro to HTML and CSS
Intro to HTML and CSSlexinamer
 
Html project
Html projectHtml project
Html projectarsh7511
 
CSS Layout Tutorial
CSS Layout TutorialCSS Layout Tutorial
CSS Layout Tutorialhstryk
 
CSS Layout Techniques
CSS Layout TechniquesCSS Layout Techniques
CSS Layout TechniquesHarshal Patil
 
Making the most of New CSS Layout
Making the most of New CSS LayoutMaking the most of New CSS Layout
Making the most of New CSS LayoutRachel Andrew
 
The New CSS Layout - dotCSS
The New CSS Layout - dotCSSThe New CSS Layout - dotCSS
The New CSS Layout - dotCSSRachel Andrew
 

Destaque (20)

Css Website Templates
Css Website TemplatesCss Website Templates
Css Website Templates
 
ConFoo 2016: Making Sense of CSS Layout
ConFoo 2016: Making Sense of CSS LayoutConFoo 2016: Making Sense of CSS Layout
ConFoo 2016: Making Sense of CSS Layout
 
Fluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS LayoutFluent: Making Sense of the New CSS Layout
Fluent: Making Sense of the New CSS Layout
 
Metadata Design Project
Metadata Design ProjectMetadata Design Project
Metadata Design Project
 
Real-time parallax error compensation in head-mounted eye trackers
Real-time parallax error compensation in head-mounted eye trackersReal-time parallax error compensation in head-mounted eye trackers
Real-time parallax error compensation in head-mounted eye trackers
 
CSS Parallax - DotCSS 2014
CSS Parallax - DotCSS 2014CSS Parallax - DotCSS 2014
CSS Parallax - DotCSS 2014
 
Pixlr.com Website Tutorial
Pixlr.com Website TutorialPixlr.com Website Tutorial
Pixlr.com Website Tutorial
 
Html Slide Part-1
Html Slide Part-1Html Slide Part-1
Html Slide Part-1
 
Inline Layout
Inline LayoutInline Layout
Inline Layout
 
HTML & CSS: Chapter 03
HTML & CSS: Chapter 03HTML & CSS: Chapter 03
HTML & CSS: Chapter 03
 
How to create a html webpage using notepad
How to create a html webpage using notepadHow to create a html webpage using notepad
How to create a html webpage using notepad
 
Div Tag Tutorial
Div Tag TutorialDiv Tag Tutorial
Div Tag Tutorial
 
The Future of CSS Layout
The Future of CSS LayoutThe Future of CSS Layout
The Future of CSS Layout
 
Intro to HTML and CSS
Intro to HTML and CSSIntro to HTML and CSS
Intro to HTML and CSS
 
Html project
Html projectHtml project
Html project
 
CSS Layout Tutorial
CSS Layout TutorialCSS Layout Tutorial
CSS Layout Tutorial
 
CSS Layout Techniques
CSS Layout TechniquesCSS Layout Techniques
CSS Layout Techniques
 
Making the most of New CSS Layout
Making the most of New CSS LayoutMaking the most of New CSS Layout
Making the most of New CSS Layout
 
The New CSS Layout - dotCSS
The New CSS Layout - dotCSSThe New CSS Layout - dotCSS
The New CSS Layout - dotCSS
 
HTML CSS Basics
HTML CSS BasicsHTML CSS Basics
HTML CSS Basics
 

Semelhante a Css tutorial 2012

Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8RohanMistry15
 
Chapter 3 - CSS.pdf
Chapter 3 - CSS.pdfChapter 3 - CSS.pdf
Chapter 3 - CSS.pdfwubiederebe1
 
The CSS Handbook
The CSS HandbookThe CSS Handbook
The CSS Handbookjackchenvlo
 
Lecture 3CSS part 1.pptx
Lecture 3CSS part 1.pptxLecture 3CSS part 1.pptx
Lecture 3CSS part 1.pptxGmachImen
 
4. Web Technology CSS Basics-1
4. Web Technology CSS Basics-14. Web Technology CSS Basics-1
4. Web Technology CSS Basics-1Jyoti Yadav
 
CSS Methodology
CSS MethodologyCSS Methodology
CSS MethodologyZohar Arad
 
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...Jer Clarke
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation Salman Memon
 
HTML to CSS Basics Exer 2.pptx
HTML to CSS Basics Exer 2.pptxHTML to CSS Basics Exer 2.pptx
HTML to CSS Basics Exer 2.pptxJJFajardo1
 
Beginners css tutorial for web designers
Beginners css tutorial for web designersBeginners css tutorial for web designers
Beginners css tutorial for web designersSingsys Pte Ltd
 
Introduction of css
Introduction of cssIntroduction of css
Introduction of cssDinesh Kumar
 
CSS Training in Bangalore
CSS Training in BangaloreCSS Training in Bangalore
CSS Training in Bangalorerajkamal560066
 
Lecture 9 CSS part 1.pptxType Classification
Lecture 9 CSS part 1.pptxType ClassificationLecture 9 CSS part 1.pptxType Classification
Lecture 9 CSS part 1.pptxType ClassificationZahouAmel1
 

Semelhante a Css tutorial 2012 (20)

Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8Advanced Web Programming Chapter 8
Advanced Web Programming Chapter 8
 
Chapter 3 - CSS.pdf
Chapter 3 - CSS.pdfChapter 3 - CSS.pdf
Chapter 3 - CSS.pdf
 
The CSS Handbook
The CSS HandbookThe CSS Handbook
The CSS Handbook
 
Css.html
Css.htmlCss.html
Css.html
 
DHTML
DHTMLDHTML
DHTML
 
CSS Overview
CSS OverviewCSS Overview
CSS Overview
 
Lecture 3CSS part 1.pptx
Lecture 3CSS part 1.pptxLecture 3CSS part 1.pptx
Lecture 3CSS part 1.pptx
 
4. Web Technology CSS Basics-1
4. Web Technology CSS Basics-14. Web Technology CSS Basics-1
4. Web Technology CSS Basics-1
 
Introduction to CSS
Introduction to CSSIntroduction to CSS
Introduction to CSS
 
Rational HATS and CSS
Rational HATS and CSSRational HATS and CSS
Rational HATS and CSS
 
CSS Methodology
CSS MethodologyCSS Methodology
CSS Methodology
 
Css class-01
Css class-01Css class-01
Css class-01
 
Css - Tutorial
Css - TutorialCss - Tutorial
Css - Tutorial
 
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...
DRY CSS A don’t-repeat-yourself methodology for creating efficient, unified a...
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation
 
HTML to CSS Basics Exer 2.pptx
HTML to CSS Basics Exer 2.pptxHTML to CSS Basics Exer 2.pptx
HTML to CSS Basics Exer 2.pptx
 
Beginners css tutorial for web designers
Beginners css tutorial for web designersBeginners css tutorial for web designers
Beginners css tutorial for web designers
 
Introduction of css
Introduction of cssIntroduction of css
Introduction of css
 
CSS Training in Bangalore
CSS Training in BangaloreCSS Training in Bangalore
CSS Training in Bangalore
 
Lecture 9 CSS part 1.pptxType Classification
Lecture 9 CSS part 1.pptxType ClassificationLecture 9 CSS part 1.pptxType Classification
Lecture 9 CSS part 1.pptxType Classification
 

Último

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 

Último (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 

Css tutorial 2012

  • 1. 2012 CSS TUTORIAL Mr.D.S.Kiran D.S.Technologies
  • 2. CSS TUTORIAL 2012 D.S.Kiran is the founder of D.S.Technologies. He is maintaining a web site called eBookDust (www.ebookdust.com) over the last several years providing eBooks and Materials. And He is a self-taught web designer and SEO expert. He is an entrepreneur, designer, developer, and overall thinker. Your comments and suggestions are always welcome! 2 Contact the Author At: informtods@gmail.com
  • 3. CSS TUTORIAL 2012 Topic Name Page No Introduction 4 Advantages 5 Using this Tutorial 6 Selectors 7 Tag Selectors 8 Class Selectors 9 ID Selectors 10 Grouped Selectors 11 Context Dependant Selectors 12 Where to Place It 13 Single Tags 14 Single Pages 15 Entire Sites 16 CSS Text 18 CSS Colors 20 CSS Links 23 CSS Lists 26 CSS Layers 28 3 Contact the Author At: informtods@gmail.com
  • 4. CSS TUTORIAL 2012 INTRODUCTION CSS stands for Cascading Style Sheets. It is a way to divide the content from the layout on web pages. How it works: A style is a definition of fonts, colors, etc. Each style has a unique name: a selector. The selectors and their styles are defined in one place. In your HTML contents you simply refer to the selectors whenever you want to activate a certain style. For example: Instead of defining fonts and colors each time you start a new table cell, you can define a style and then, simply refer to that style in your table cells. Compare the following examples of a simple table: Classic HTML <table> <tr><td bgcolor="#FFCC00" align="left"><font face="arial" size="2" color="red"><b>this is line 1</b></font></td></tr> <tr><td bgcolor="#FFCC00" align="left"><font face="arial" size="2" color="red"><b>this is line 2</b></font></td></tr> <tr><td bgcolor="#FFCC00" align="left"><font face="arial" size="2" color="red"><b>this is line 3</b></font></td></tr> </table> With CSS (assuming that a selector called subtext is defined) <table> <tr><td class="subtext">this is line 1</td></tr> <tr><td class="subtext">this is line 2</td></tr> <tr><td class="subtext">this is line 3</td></tr> </table> While CSS lets you separate the layout from the content, it also lets you define the layout much more powerfully than you could with classic HTML. 4 Contact the Author At: informtods@gmail.com
  • 5. CSS TUTORIAL 2012 ADVANTAGES With CSS, you will be able to: - define the look of your pages in one place rather than repeating yourself over and over again throughout your site. (Ever get tired of defining colors and fonts each time you start a new cell in a table? Those days are over with CSS!) - easily change the look of your pages even after they're created. Since the styles are defined in one place you can change the look of the entire site at once. (Ever get tired of replacing tags throughout your site when you want to change the look of a certain element? Those days are over with CSS!) - define font sizes and similar attributes with the same accuracy as you have with a word processor - not being limited to just the seven different font sizes defined in HTML. - position the content of your pages with pixel precision. - redefine entire HTML tags. Say for example, if you wanted the bold tag to be red using a special font - this can be done easily with CSS. - define customized styles for links - such as getting rid of the underline. - define layers that can be positioned on top of each other (often used for menus that pop up). Your pages will load faster, since they aren't filled with tags that define the look. The style definitions are kept in a single CSS document that is only loaded once when a visitor enters your site. The one disadvantage is: - these will only work on version 4 browsers or newer. However, more than 95% of all browsers live up to that. 5 Contact the Author At: informtods@gmail.com
  • 6. CSS TUTORIAL 2012 USING THIS TUTORIAL This tutorial has been laid out so that it can be used both as a future reference and as an ongoing tutorial starting at page 1. The tutorial has been divided into 6 logical sections.  Explain the different types of selectors.  Practical uses of selectors, easy ways to define styles, etc.  How to define CSS at different levels: Tags, Pages and Sites.  A listing of the attributes that can be set for inline tags, block tags and links.  How to add layers to your pages.  Problems related to cross browser compatibility. And that is all you need to know about CSS to become an expert! Proceed to start learning about selectors... 6 Contact the Author At: informtods@gmail.com
  • 7. CSS TUTORIAL 2012 SELECTORS Selectors are the names that you give to your different styles. In the style definition you define how each selector should work (font, color etc.). Then, in the body of your pages, you refer to these selectors to activate the styles. For example: <HTML> <HEAD> <style type="text/css"> B.headline {color:red; font-size:22px; font-family:arial; text-decoration:underline} </style> </HEAD> <BODY> <b>This is normal bold</b><br> <b class="headline">This is headline style bold</b> </BODY> </HTML> In this case B.headline is the selector. The above example would result in this output: This is normal bold This is headline style bold There are three types of selectors: HTML selectors Used to define styles associated to HTML tags. (A way to redefine the look of tags) Class selectors Used to define styles that can be used without redefining plain HTML tags. ID selectors Used to define styles relating to objects with a unique ID (most often layers) Proceed to learn about each of these types... 7 Contact the Author At: informtods@gmail.com
  • 8. CSS TUTORIAL 2012 TAG SELECTORS The general syntax for an HTML selector is: HTMLSelector {Property:Value;} For example: <HTML> <HEAD> <style type="text/css"> B {font-family:arial; font-size:14px; color:red} </style> </HEAD> <BODY> <b>This is a customized headline style bold</b> </BODY> </HTML> HTML selectors are used when you want to redefine the general look for an entire HTML tag. 8 Contact the Author At: informtods@gmail.com
  • 9. CSS TUTORIAL 2012 CLASS SELECTORS The general syntax for a Class selector is: .ClassSelector {Property:Value;} For example: <HTML> <HEAD> <style type="text/css"> .headline {font-family:arial; font-size:14px; color:red} </style> </HEAD> <BODY> <b class="headline">This is a bold tag carrying the headline class</b> <br> <i class="headline">This is an italics tag carrying the headline class</i> </BODY> </HTML> Class selectors are used when you want to define a style that does not redefine an HTML tag entirely. When referring to a Class selector you simply add the class to an HTML tag like in the above example (class="headline"). SPAN and DIV as carriers Two tags are particularly useful in combination with class selectors: <SPAN> and<DIV>. Both are "dummy" tags that don't do anything in themselves. Therefore, they are excellent for carrying CSS styles. <SPAN> is an "inline-tag" in HTML, meaning that no line breaks are inserted before or after the use of it. <DIV> is a "block tag", meaning that line breaks are automatically inserted to distance the block from the surrounding content (like <P> or <TABLE> tags). <DIV> has a particular importance for layers. Since layers are separate blocks of information. <DIV> is an obvious choice when defining layers on your pages. 9 Contact the Author At: informtods@gmail.com
  • 10. CSS TUTORIAL 2012 ID SELECTORS The general syntax for an ID selector is: #IDSelector {Property:Value;} For example: <HTML> <HEAD> <style type="text/css"> #layer1 {position:absolute; left:100;top:100; z-Index:0} #layer2 {position:absolute; left:140;top:140; z-Index:1} </style> </HEAD> <BODY> <div ID="layer1"> <table border="1" bgcolor="#FFCC00"><tr><td>THIS IS LAYER 1<br>POSITIONED AT 100,100</td></tr></table> </div> <div ID="layer2"> <table border="1" bgcolor="#00CCFF"><tr><td>THIS IS LAYER 2<br>POSITIONED AT 140,140</td></tr></table> </div> </BODY> </HTML> ID selectors are used when you want to define a style relating to an object with a unique ID. This selector is most widely used with layers (as in the above example), since layers are always defined with a unique ID. 10 Contact the Author At: informtods@gmail.com
  • 11. CSS TUTORIAL 2012 GROUPED SELECTORS Most often selectors will share some of the same styles, for example, being based on the same font. In these cases, rather than defining the font for each and every selector, one by one, you can group them, and thus assign the font to all the selectors at once. Look at this example, made without grouping: .headlines{ font-family:arial; color:black; background:yellow; font-size:14pt; } .sublines { font-family:arial; color:black; background:yellow; font-size:12pt; } .infotext { font-family:arial; color:black; background:yellow; font-size:10pt; } As you can see, the only style that varies is the font-size. In the next example we have grouped the selectors, and defined the common styles at once. .headlines, .sublines, .infotext { font-family:arial; color:black; background:yellow; } .headlines {font-size:14pt;} .sublines {font-size:12pt;} .infotext {font-size: 10pt;} Less to type, easier to change and guaranteed to be the same for all styles. 11 Contact the Author At: informtods@gmail.com
  • 12. CSS TUTORIAL 2012 CONTEXT DEPENDANT SELECTORS It is possible to make selectors that will only work in certain contexts. For example, you can define a style for the <B> tag that is only triggered if the text is not only bold but also written in italics. For example, the style should be in effect here: <i><b>example</b></i> but not here : <b>example</b>. THE SYNTAX Simply adding a normal style to the <B> tag is done like this: B {font-size:16px} Adding a context dependent style, like the one described above is done like this: I B {font-size:16px;} We simply separated the contextual <I> tag from the <B> tag with a space. USING GROUPED AND CONTEXT DEPENDENT SELECTORS AT THE SAME TIME: It is possible to use context dependent and grouped selectors at the same time. For example, like this: I B, .headlines, B .sublines {font-size:16px;} In the example the font-size of 16 pixels is in effect on: 1) All <B> tags enclosed by <I> tags 2) All headlines classes. 3) sublines classes enclosed by <B> tags. 12 Contact the Author At: informtods@gmail.com
  • 13. CSS TUTORIAL 2012 WHERE TO PLACE IT CSS can be added to your pages at 3 different levels. It is possible to create CSS styles that only work for the single tag it is defined for. Single tag CSS is used when the style is used in a single place on the entire site. Usually a certain style appears more than once on your pages, and thus you should use the second technique: adding styles that are defined once for the entire page. If, however, that certain style is used on more than a single page, you should use the third - and most powerful - technique described: adding styles that are defined once for the entire site. The following pages will explain each of these techniques.... 13 Contact the Author At: informtods@gmail.com
  • 14. CSS TUTORIAL 2012 SINGLE TAGS CSS can be defined for single tags by simply addingstyle="styledefinition:styleattribute;" to the tags. Look at this example: It is <b style="font-size:16px;">NOT</b> me. You should limit your use of single tag CSS. If you define your styles for each and every tag they're used on, you will lose much of the power associated with CSS. For example, you will have to define the style over and over again whenever it's used, rather than just defining it once and then referring to that one definition whenever it's used. Furthermore, if you wanted to change a certain style, you'd have to change it all over in your document, rather than in one place. 14 Contact the Author At: informtods@gmail.com
  • 15. CSS TUTORIAL 2012 SINGLE PAGES CSS can be defined for entire pages by simply adding a style definition to the head section. Look at this example: <html> <head> <title>MY CSS PAGE</title> <style type="text/css"> .headlines, .sublines, infotext {font-face:arial; color:black; background:yellow; font-weight:bold;} .headlines {font-size:14pt;} .sublines {font-size:12pt;} .infotext {font-size: 10pt;} </style> </head> <body> <span class="headlines">Welcome</span><br> <div class="sublines"> This is an example page using CSS.<br> The example is really simple,<br> and doesn't even look good,<br> but it shows the technique. </div> <table border="2"><tr><td class="sublines"> As you can see:<br> The styles even work on tables. </td></tr></table> <hr> <div class="infotext"> Example from EchoEcho.Com. </div> <hr> </body> </html> In the above example, although we used the sublines style twice, we only had to define it once: in the <head>section. By defining styles for entire pages, you will gain the freedom to easily change the styles even after the entire page has been made. This is an obvious advantage for you as a designer. But the advantage is on the visitors side as well. Since the styles are only defined in one place, the page size will be smaller, and thus faster to load. There is a way to emphasize these advantages even more: using external CSS styles that work for entire sites. 15 Contact the Author At: informtods@gmail.com
  • 16. CSS TUTORIAL 2012 ENTIRE SITES CSS can be defined for entire sites by simply writing the CSS definitions in a plain text file that is referred to from each of the pages in the site. Rather than writing the entire CSS definition on each page, as in the previous examples, you can write it to a text file that is only loaded on the first page that a visitor sees at your site. When the visitor jumps to other pages, the CSS text file will be cached and thus doesn't have to be transferred via the internet for subsequent pages. This means that your pages will load faster while at the same time you will have extreme flexibility to change the style for your entire site even after it has been made. Look at this example: File: example.html <html> <head> <title>MY CSS PAGE</title> <link rel=stylesheet href="whatever.css" type="text/css"> </head> <body> <span class="headlines">Welcome</span><br> <div class="sublines"> This is an example of a page using CSS.<br> The example is really simple,<br> and doesn't even look good,<br> but it shows the technique. </div> <table border="2"><tr><td class="sublines"> As you can see:<br> The styles even work on tables. </td></tr></table> <hr> <div class="infotext">Example from EchoEcho.Com.</div> <hr> </body> </html> The above example is the exact same as we used for CSS defined for entire pages, with one important exception: There is no style definition on the page. Instead we added a reference to an external style sheet: <link rel=stylesheet href="whatever.css" type="text/css"> This means that the browser will look for a file called whatever.css and insert it at the place where the reference was found in the html document. So in order to complete our example we need to have a file called whatever.css that looks like this: File: whatever.css .headlines, .sublines, infotext {font-face:arial; color:black; background:yellow; font-weight:bold;} .headlines {font-size:14pt;} .sublines {font-size:12pt;} .infotext {font-size: 10pt;} 16 Contact the Author At: informtods@gmail.com
  • 17. CSS TUTORIAL 2012 Now if you just add the line <link rel=stylesheet href="whatever.css" type="text/css"> to the <head> of all your pages, then the one style definition will be in effect for your entire site. Imagine the power and flexibility this gives you to make changes to the layout even after the site is done. But also realize how using an external style sheet will guarantee that all pages are following the same thread. There won't be single pages that you forgot to update when you decided to change the style for your headers. At this point of the tutorial you should know: 1: how to define styles for tags, classes and objects with ID's. 2: how to group styles and make them context dependent 3: how to add styles to single tags, single pages and entire sites All we need now is a walkthrough of the various style attributes that can be assigned. We will divide them into three categories: 1: Inline attributes. (Works on tags like: <SPAN>, <B> and <I>). 2: Block attributes. (Works on block tags: <DIV>, <TD> and <P>). 3: Link attributes. (Works on links and use a special syntax). 17 Contact the Author At: informtods@gmail.com
  • 18. CSS TUTORIAL 2012 CSS TEXT CSS has several options for defining the styles of text. These options can entirely replace the <font> tag, but there's even more. CSS allows you to define these styles much more powerfully than you could ever do with plain HTML. FONT PROPERTIES Property Values NS IE Example font-family font name 4+ 4+ font-family:arial generic font 4+ 4+ font-family:arial, helvetica font-style normal 4+ 4+ font-style:normal italic 4+ 4+ font-style:italic oblique 4+ font-style:oblique font-variant normal 4+ font-variant:normal small-caps 4+ font-variant:small-caps font-weight normal 4+ 4+ font-weight:normal bold 4+ 4+ font-weight:bold bolder 4W 4+ font-weight:bolder lighter 4W 4+ font-weight:lighter 100-900 4+ 4+ font-weight:250 font-size normal 4+ 4+ font-size:normal length 4+ 4+ font-size:14px length 4+ 4+ font-size:14pt absolute 4+ 4+ font-size:xx-small absolute 4+ 4+ font-size:x-small absolute 4+ 4+ font-size:small absolute 4+ 4+ font-size:medium absolute 4+ 4+ font-size:large absolute 4+ 4+ font-size:x-large absolute 4+ 4+ font-size:xx-large font-size:smaller relative 4+ 4+ font-size:larger relative 4+ 4+ font-size:75% percentage 4+ 4+ 4P:problems, 4M:Mac only, 4W:Windows only ASSIGNING ALL FONT ATTRIBUTES AT ONCE An example of a typical font definition would be: B {font-family:arial, helvetica; font-size:12px; font-weight:bold;} But since all font attributes can actually be expressed with the font property we could actually write it this way: B {font:arial, helvetica 12px bold} The above is obviously a shorter way to specify font settings - but in reality it is less useful than one might think. The reason is that you'd be assigning the same font face to all your styles, for example, while you'd want different font weights and sizes for headers and content areas etc. 18 Contact the Author At: informtods@gmail.com
  • 19. CSS TUTORIAL 2012 TEXT PROPERTIES Despite the font properties listed above there are some options for defining text properties such as alignments, underlines, etc. Property Values NS IE Example line-height normal 4W 4+ line-height:normal number 4+ 4P line-height:1.5 length 4+ 4+ line-height:22px percentage 4+ 4P line-height:150% text-decoration none 4+ 4M text-decoration:none underline 4+ 4+ text-decoration:underline overline 4W text-decoration:overline line-through 4+ 4+ text-decoration:line-through text-decoration:blink blink 4+ text-transform none 4+ 4W text-transform:none capitalize 4+ 4W text-transform:capitalize uppercase 4+ 4W text-transform:uppercase text-transform:lowercase lowercase 4+ 4W text-align left 4+ 4+ text-align:left right 4+ 4+ text-align:right center 4+ 4+ text-align:center justify 4+ 4W text-align:justify text-indent length 4+ 4+ text-indent:20px; percentage 4+ 4+ text-indent:10% white-space normal 4+ white-space:normal pre 4+ white-space:pre 4P:problems, 4M:Mac only, 4W:Windows only Note: line-height : When using a number (such as 1.5) the number refers to the font size, where 1.5 would mean that a 1.5 lines spacing (using the current font size) will be inserted between the lines. text-transform : Capitalize sets the first letter of each word in uppercase. Uppercase forces all letters to uppercase. Lowercase forces all letters to lowercase. text-indent : Use this to indent the first word of a paragraph. white-space : If white-space is set to pre the browser will show all spaces in the text, rather than ignoring all occurrences of more than one space. This is similar to the<pre> tag in plain HTML. Since the white-space is only supported by NS you should use the <pre> tag instead. The official CSS standard provided by W3C also includes properties for word spacing, letter spacing and vertical align, but these aren't supported by today's browsers. COLORS As you can see, the above CSS properties can replace all text formatting that can be done with plain HTML with one exception: the color. The color is not part of the font collection in CSS - rather it has its own definition. If you want to add a color to the text in the above example you'd do it this way: B {font:arial, helvetica 12px bold; color:red} 19 Contact the Author At: informtods@gmail.com
  • 20. CSS TUTORIAL 2012 CSS Colors CSS has several options for defining colors of both text and background areas on your pages. These options can entirely replace the color attributes in plain HTML. In addition, you get new options that you just didn't have in plain HTML. For example, in plain HTML, when you wanted to create an area with a specific color you were forced to include a table. With CSS, you can define an area to have a specific color without that area being part of a table. Or even more useful, in plain HTML when working with tables, you had to specify font attributes and colors etc. for each and every table cell. With CSS you can simply refer to a certain class in your <TD> tags. COLOR PROPERTIES Property Values NS IE color <color> 4+ 4+ background-color transparent 4+ 4+ <color> 4+ 4+ none 4+ 4+ background-image url(<URL>) 4+ 4+ repeat 4+ 4+ repeat-x 4+ 4+ background-repeat repeat-y 4+ 4+ no-repeat 4+ 4+ scroll 4+ background-attachment fixed 4+ <percentage> 4+ <length> 4+ top 4+ background-position center 4+ bottom 4+ left 4+ right 4+ <background-color> 4+ 4+ <background-image> 4+ 4+ background <background-repeat> 4+ 4+ <background-attachment> 4+ <background-position> 4+ 4P:problems, 4M:Mac only, 4W:Windows only Setting colors Basically you have three color options with CSS: 1: Setting the foreground color for contents 2: Setting the background color for an area 3: Setting a background image to fill out an area In the next section we will list the different properties that let you do that. In plain HTML, colors can either be entered by name (red, blue etc.) or by a hexadecimal color code (for example: #FF9900). 20 Contact the Author At: informtods@gmail.com
  • 21. CSS TUTORIAL 2012 With CSS you have these options: Common name You can define colors with the use of common names, by simply enter the name of the desired color. For example: .myclass {color:red; background-color:blue;} Hexadecimal value You can define colors with the use of hexadecimal values, similar to how it's done in plain HTML. For example: .myclass {color:#000000; background-color:#FFCC00;} RGB value You can define colors with the use of RGB values, by simply entering the values for amounts of Red, Green and Blue. For example: .myclass {color:rgb(255,255,204); background-color:rgb(51,51,102);} You can also define RGB colors using percentage values for the amounts of Red, Green and Blue: For example: .myclass {color:rgb(100%,100%,81%); background-color:rgb(81%,18%,100%);} Setting background colors Background colors are defined similar to the colors mentioned above. For example you can set the background color of the entire page using the BODYselector: BODY {background-color:#FF6666;} 21 Contact the Author At: informtods@gmail.com
  • 22. CSS TUTORIAL 2012 Setting a background image CSS lets you set a background image for both the page and single elements on the page. In addition, CSS offers several positioning methods for background images. You can define the background image for the page like this: BODY {background-image:url(myimage.gif);} You can control the repetition of the image with the background-repeatproperty. background-repeat:repeat Tiles the image until the entire page is filled, just like an ordinary background image in plain HTML. background-repeat:repeat-x Repeats the image horizontally - but not vertically. background-repeat:repeat-y Repeats the image vertically - but not horizontally. background-repeat:no-repeat Does not tile the image at all. Positioning a background Background positioning is done by entering a value for the left position and top position separated by a space. In this example the image is positioned 75 pixels from the upper left corner of the page: BODY {background-image:url(myimage.gif); background-position: 75px 75px;} Note: Background positioning is not supported by Netscape 4 browsers. Fixing a background You can fixate an image at a certain position so that it doesn't move when scrolling occurs. BODY {background-image:url(myimage.gif); background-attachment: fixed;} Note: Background fixation is not supported by Netscape 4 browsers. Setting multiple background values Rather than defining each background property with its own property you can assign them all with the use of the background property. Look at this example: BODY {background:green url(myimage.gif) repeat-y fixed 75px 75px;} 22 Contact the Author At: informtods@gmail.com
  • 23. CSS TUTORIAL 2012 CSS Links CSS has several options for redefining the style of links. LINK PROPERTIES Property Values NS IE A:link <style> 4+ 4+ A:visited <style> 4+ 4+ A:active <style> 4+ 4+ A:hover <style> 6+ 4+ DEFINING STYLES FOR LINKS As mentioned in the above table, there are four different selectors with respect to links. You can specify whatever style you'd like to each of these selectors, just like you'd do with normal text. The four selectors are: A:link Defines the style for normal unvisited links. A:visited Defines the style for visited links. A:active Defines the style for active links. A link becomes active once you click on it. A:hover Defines the style for hovered links. A link is hovered when the mouse moves over it. Note: Not supported by Netscape browsers prior to version 6. PRACTICAL EXAMPLES Here you can see a few examples on how CSS can be used to replace the traditional image based mouseover effects for links. The hover style is not supported by Netscape browsers prior to version 6, but since it does no harm, you can still use it for the benefit of the +90% of visitors that arrive using MSIE). One of the most common uses of CSS with links is to remove the underline. Typically it's done so that the underline appears only when a hover occurs. In the example below, we did just that. In addition we added a red color for hovered links. Example: Hover <style type="text/css"> A:link {text-decoration: none} A:visited {text-decoration: none} A:active {text-decoration: none} A:hover {text-decoration: underline; color: red;} </style> 23 Contact the Author At: informtods@gmail.com
  • 24. CSS TUTORIAL 2012 Another example would be to create links that are both underlined andoverlined. Example: Underline/Overline <style type="text/css"> A:link {text-decoration: none} A:visited {text-decoration: none} A:active {text-decoration: none} A:hover {text-decoration: underline overline; color: red;} </style> A third example would be to create links that change in size when hovered. Example: Size changing links <style type="text/css"> A:link {text-decoration: none} A:visited {text-decoration: none} A:active {text-decoration: none} A:hover {font-size:24; font-weight:bold; color: red;} </style> A final example would be to create links that have a permanent background color, obviously standing out from the rest. Example: Background colored links <style type="text/css"> A:link {background: #FFCC00; text-decoration: none} A:visited {background: #FFCC00; text-decoration: none} A:active {background: #FFCC00; text-decoration: none} A:hover {background: #FFCC00; font-weight:bold; color: red;} </style> MULTIPLE LINKSTYLES ON SAME PAGE The final topic deals with how to add multiple link styles that can be used on the same page. In the above examples we addressed the HTML selector - A:link etc - and thus redefined the overall link style. How do we define a link style that is only active in a certain area of the page? The answer is: context dependent selectors. Rather than addressing the A:link selector we will address it while being dependant on a certain outer class that surrounds the area where we'd like our link style to be effective. 24 Contact the Author At: informtods@gmail.com
  • 25. CSS TUTORIAL 2012 For example: <html> <head> <style type="text/css"> .class1 A:link {text-decoration: none} .class1 A:visited {text-decoration: none} .class1 A:active {text-decoration: none} .class1 A:hover {text-decoration: underline; color: red;} .class2 A:link {text-decoration: underline overline} .class2 A:visited {text-decoration: underline overline} .class2 A:active {text-decoration: underline overline} .class2 A:hover {text-decoration: underline; color: green;} </style> </head> <body> ONE TYPE OF LINKS <br> <span class="class1"> <a href="http://www.yahoo.com">YAHOO</a> <br> <a href="http://www.google.com">GOOGLE</a> </span> <br> <br> ANOTHER TYPE OF LINKS <br> <span class="class2"> <a href="http://www.yahoo.com">YAHOO</a> <br> <a href="http://www.google.com">GOOGLE</a> </span> </body> </html> Note how we use the <span> to define the context. This is smart for two reasons: 1) The obvious, that it allows us to use different link styles on the same page, rather than being limited to using a single overall link style. 2) We can define entire areas where a certain link style works for all links within that area. Thus, we don't have to add a style definition to each and every link in that area. 25 Contact the Author At: informtods@gmail.com
  • 26. CSS TUTORIAL 2012 CSS Lists CSS allows you to customize the lists that can be made with HTML. The good news is that there are many powerful properties for doing so. The bad news is that Netscape and Internet Explorer often support these properties in different ways. Both browsers have limitations in their support of list styles. Netscape browsers only let you add the list CSS to <LI> tags - not just any tag. Internet Explorer's support of CSS with relation to lists is only fully supported for browsers on the Windows platform. In any case, be careful about using CSS for lists since it might not show the way you want it to on all browsers. However, most things won't ruin anything if the browser doesn't support it - it just shows as a normal list - so it will be okay to define lists that only work for the most widely used browser. LIST PROPERTIES Property Values NS IE disc 4+ 4W circle 4+ 4W square 4+ 4W decimal 4+ 4W list-style type lower-roman 4+ 4W upper-roman 4+ 4W lower-alpha 4+ 4W upper-alpha 4+ 4W none 4W list-style image none 4W url(<url>) 4W outside 4W list-style position inside 4W <list-style type> 4W list-style <list style position> 4W <list-style image> 4w 4+: Browser version 4 or newer. 4W: Browser version 4 or newer, windows only. DEFINING STYLES FOR LINKS As mentioned in the above table, we have four unique selectors with respect to lists. The fourth selector, list-style is an overall selector that let you define all list related styles at once. The three basic selectors are: list-style type Defines the look of the bullets used in your list. list-style image Let's you use a custom graphic for bullets. list-style position Often the text in a list is longer than one line. list-style position:outer lets the second line align with the first line. That is: the bullet is to the left of both lines. list-style position:inner lets the second line align with the bullet. 26 Contact the Author At: informtods@gmail.com
  • 27. CSS TUTORIAL 2012 Assigning several properties at once Instead of using different selectors for each list-style you can specify them all at once using the list-style property. For example: <html> <head> <style type="text/css"> LI.list1 {list-style: circle outside; color:green;} LI.list2 {list-style: square inside; color:blue} .blacktext {color:black} </style> </head> <body> <ul> <li class="list1"><span class="blacktext">This is one black line</span> <li class="list1">This is another line that is much longer than the first. But it isn't a black line since we did not specify a style for the text that goes here other than the style we defined for the list. </ul> <br> <br> <ul> <li class="list2"><span class="blacktext">This is one black line</span> <li class="list2">This is another line that is much longer than the first. But it isn't a black line since we did not specify a style for the text that goes here other than the style we defined for the list. </ul> </body> </html> The lists from the above example would look like this: o This is one black line o This is another line that is much longer than the first. But it isn't a black line since we did not specify a style for the text that goes here other than the style we defined for the list.  This is one black line  This is another line that is much longer than the first. But it isn't a black line since we did not specify a style for the text that goes here other than the style we defined for the list. 27 Contact the Author At: informtods@gmail.com
  • 28. CSS TUTORIAL 2012 CSS LAYERS With CSS, it is possible to work with layers: pieces of HTML that are placed on top of the regular page with pixel precision. The advantages of this are obvious - but once again Netscape has very limited support of CSS layers - and to top it off: the limited support it offers is quite often executed with failures. So the real challenge when working with layers is to make them work on Netscape browsers as well. LAYER BASICS First look at this example: LAYER 1 ON TOP: LAYER 1 LAYER 2 LAYER 2 ON TOP: LAYER 1 LAYER 2 Second look at the code: LAYER 1 ON TOP: <div style="position:relative; font-size:50px; z-index:2;">LAYER 1</div> <div style="position:relative; top:-50; left:5; color:red; font-size:80px; z- index:1">LAYER 2</div> LAYER 2 ON TOP: <div style="position:relative; font-size:50px; z-index:3;">LAYER 1</div> <div style="position:relative; top:-50; left:5; color:red; font-size:80px; z- index:4">LAYER 2</div> To create a layer all you need to do is assign the position attribute to your style. The position can be either absolute or relative. The position itself is defined with the top and left properties. Finally, which layer is on top is defined with the z-index attribute. 28 Contact the Author At: informtods@gmail.com
  • 29. CSS TUTORIAL 2012 RELATIVE VERSUS ABSOLUTE POSITIONING You can either position your layer calculated from the upper left corner(absolute) or calculated from the position where the layer itself is inserted (relative). position:absolute If you define the position to be absolute it will be calculated from the upper left corner of the page - unless the layer is defined inside another layer, in which case it will be calculated from the upper left corner of the parent layer. position:relative If you define the position to be relative it will be relative to the position of the tag that carries the style. That is, if you add a relatively positioned layer in the middle of the page, then the position will be calculated from that exact spot in the middle of your page where it was added. DEFINING THE POSITION While the position property indicates the out spring of our coordinate system, the left and top properties defines the exact position of our layer. You can enter both positive and negative values for these properties - thus it is possible to place content higher up and further to the left on the page than the logical position in the HTML code where the layer itself is defined. In other words: at the bottom of your HTML code you can enter the code for a layer that is positioned at the top of the resulting page. Both left and top properties can be dynamically changed with JavaScript. This means that it is possible to move things around on the screen even after the page has finished loading. In fact this technique can be (and has been) used to create entire games. Other uses might be menus that pop out when a mouse- over is detected on a link. The possibilities are endless - but in order to keep things simple, we will not dig into details about these dynamic HTML effects here. POSITION IN THE STACK - THE Z-INDEX Picture a game of 52 cards. If the ace of spades was at the bottom we'd say it had z-index:1;. If the queen of hearts was at the top we'd say she had z-index:52;. Try looking at the code example at the top of this page again, and see how we used the z-index to put LAYER 1 on top in the first example, while we had LAYER 2 on top in the second example. Very interesting possibilities arise from the fact that the z-index can be dynamically changed with JavaScript. You could create several "pages" on top of each other - all on the same page. When the user clicks a link it will simply move the layer with the desired info on top rather than load a new page. The techniques to create effects like that goes beyond the scope of pure CSS however, so for now we will just refer to DHTML (Dynamic HTML - a mix between JavaScript and CSS) for further explorations into that area. 29 Contact the Author At: informtods@gmail.com
  • 30. CSS TUTORIAL 2012 VISIBILE VERSUS HIDDEN LAYERS A final property is the visibility property that will allow you to create invisible layers. Why would anyone want to create an invisible layer? Well, imagine the possibilities it gives for adding pop-up menus and other cool effects on your pages. With dynamic HTML it is possible to change the visibility of a layer according to certain events. The most common use of this is to create menus that pop out (like the sub menus in the START menu on Windows). The trick behind these menus is to create all submenus as invisible layers. Then, when a mouse-over is detected on a link the according layer becomes visible. (Sounds pretty easy - actually is pretty easy - except when tried on Netscape browsers that seem to have only a vague idea of the logic behind CSS layers). Valid values for the visibility property are: visible and hidden. This example shows how to create an invisible layer: <div style="position:relative; visibility:hidden;">HELLO!!!</div> PRACTICAL USE OF LAYERS It's obvious that layers offer certain possibilities for precise positioning of static elements on your pages. In reality layers are often used in more dynamic ways:  Flying elements/banners on the page  Games where you move an object around  Menus that pop out when triggered  Menus that become visible when triggered While all of these effects might seem pretty cool and useful - the fact is that the web is filled with dynamic effects that are much more cool than the average visitor really likes. The more you create a unique interface for your site the more you force the visitor to forget about what she is used to. Do not underestimate the power of sticking to the elements that the average visitor is accustomed to. What's cool about creating an effect that makes 90% of all web designers clap their hands while leaving 90% of non-web designers confused or disappointed? In any case, judge for yourself if a certain effect is really needed - and if so: do not hesitate to use it. 30 Contact the Author At: informtods@gmail.com
  • 31. CSS TUTORIAL 2012 CSS Cursors Microsoft Internet Explorer 4+ and Netscape 6+ supports customized cursors defined with CSS. Although the cursors will not have the customized look in other browsers it usually doesn't ruin anything. These browsers will simply show the normal arrow-cursor which would be same case as if you refrained from customizing cursors at all. So unless the page really doesn't work without the customized cursor there shouldn't be technical reasons for choosing not to. However there might be other reasons for thinking twice before adding custom cursor to your pages. Many users are easily confused or irritated when a site breaks the standard user interface. CURSOR PROPERTIES Look Values Look NS IE Example default TEST 6+ 4+ cursor:default crosshair TEST 6+ 4+ cursor:crosshair hand TEST 4+ cursor:hand pointer TEST 6+ cursor:pointer Cross browser TEST 4+ cursor:pointer;cursor:hand move TEST 6+ 4+ cursor:move text TEST 6+ 4+ cursor:text wait TEST 6+ 4+ cursor:wait help TEST 6+ 4+ cursor:help n-resize TEST 6+ 4+ cursor:n-resize ne-resize TEST 6+ 4+ cursor:ne-resize e-resize TEST 6+ 4+ cursor:e-resize se-resize TEST 6+ 4+ cursor:se-resize s-resize TEST 6+ 4+ cursor:s-resize sw-resize TEST 6+ 4+ cursor:sw-resize w-resize TEST 6+ 4+ cursor:w-resize nw-resize TEST 4+ 4+ cursor:nw-resize progress TEST 6+ cursor:progress 31 Contact the Author At: informtods@gmail.com
  • 32. CSS TUTORIAL 2012 not-allowed TEST 6+ cursor:not-allowed no-drop TEST 6+ cursor:no-drop vertical-text TEST 6+ cursor:vertical-text all-scroll TEST 6+ cursor:all-scroll col-resize TEST 6+ cursor:col-resize row-resize TEST 6+ cursor:row-resize cursor:url(uri) TEST 6+ cursor:url(uri) 4P:problems, 4M:Mac only, 4W:Windows only ADDING A CUSTOMIZED CURSOR The syntax for a customized cursor is this: (Position the mouse over each link to see the effect) Selector {cursor:value} For example: <html> <head> <style type="text/css"> .xlink {cursor:crosshair} .hlink{cursor:help} </style> </head> <body> <b> <a href="mypage.htm" class="xlink">CROSS LINK</a> <br> <a href="mypage.htm" class="hlink">HELP LINK</a> </b> </body> </html> The links from the above example would look like this: CROSS LINK HELP LINK 32 Contact the Author At: informtods@gmail.com
  • 33. CSS TUTORIAL 2012 REDEFINING THE CURSOR FOR ENTIRE PAGES If you want to redefine the cursor so that it's not only showing up when moved over a link, you simply specify the desired cursor using the body-selector. For example: <html> <head> <style type="text/css"> body {cursor:crosshair} </style> </head> <body> <b> SOME TEXT <br> <a href="mypage.htm">ONE LINK</a> <br> <a href="mypage.htm">ANOTHER LINK</a> </b> </body> </html> REDEFINING THE CURSOR FOR AREAS ON A PAGE If you want one look of the cursor in one area of the page and another look of the cursor in another area you can do it with context dependant selectors. This way, you create different styles for links, that are dependant on the context. Now if the context is set with a dummy tag, such as <span> you don't have to specify the desired style each and every time there is a link in the section. For example: <html> <head> <style type="text/css"> .xlink A{cursor:crosshair} .hlink A{cursor:help} </style> </head> <body> <b> <span class="xlink"> <a href="mypage.htm">CROSS LINK 1</a><br> <a href="mypage.htm">CROSS LINK 2</a><br> <a href="mypage.htm">CROSS LINK 3</a><br> </span> <br> <span class="hlink"> <a href="mypage.htm">HELP LINK 1</a><br> <a href="mypage.htm">HELP LINK 2</a><br> <a href="mypage.htm">HELP LINK 3</a><br> </span> </b> </body> </html> 33 Contact the Author At: informtods@gmail.com
  • 34. CSS TUTORIAL 2012 34 Contact the Author At: informtods@gmail.com