Academic Tutorials



English | French | Portugese | German | Italian
Google

Home Source Codes E-Books Downloads Contact Us About Us

CSS Tutorial
CSS Introduction
CSS Basic Syntax
CSS How to Insert
CSS Selector
CSS Internal
CSS External
CSS Inline
CSS Classes
CSS Background
CSS Text
CSS Font
CSS Border
CSS Margin
CSS Padding
CSS List
CSS Dimension
CSS Classification
CSS Positioning
CSS Pseudo-class
CSS Pseudo-element
CSS Media Types
CSS Mouse Cursor
CSS Properties
CSS Layers
CSS Float
CSS Summary

HTML Tutorials
HTML Tutorial
XHTML Tutorial
CSS Tutorial
TCP/IP Tutorial
XML Tutorials
XML Tutorial
XSL Tutorial
XSLT Tutorial
DTD Tutorial
Schema Tutorial
XForms Tutorial
XSL-FO Tutorial
XML DOM Tutorial
XLink Tutorial
XQuery Tutorial
XPath Tutorial
XPointer Tutorial
RDF Tutorial
SOAP Tutorial
WSDL Tutorial
RSS Tutorial
WAP Tutorial
Web Services Tutorial
Browser Scripting
JavaScript Tutorial
VBScript Tutorial
AJAX Tutorial
DHTML Tutorial
HTML DOM Tutorial
WMLScript Tutorial
E4X Tutorial
Server Scripting
ASP Tutorial
PHP Tutorial
PERL Tutorial
SQL Tutorial
ADO Tutorial
.NET (dotnet)
Microsoft.Net
XML Web Services
ASP.Net
.Net Mobile
C# : C Sharp
ADO.NET
VB.NET
Multimedia
SVG Tutorial
Flash Tutorial
Media Tutorial
SMIL Tutorial
Web Building
Web Browsers
Web Hosting
W3C Tutorial
Web Building
Web Quality
Web Semantic
Web Careers
Java Tutorials
Java Tutorial
JSP Tutorial
Servlets Tutorial
Struts Tutorial
EJB Tutorial
JMS Tutorial
JMX Tutorial
Programming Langauges
C Tutorial
C++ Tutorial
Visual Basic Tutorial
Data Structures Using C
Soft Skills
Communication Skills
Time Management
Project Management
Team Work
Leadership Skills
Corporate Communication
Negotiation Skills


CSS Layers
Previous Next

With CSS, it is possible to work with layers: pieces of HTML element that are placed on top of the regular page with pixel precision.




CSS Layers

  • The advantages of this are obvious - but once again Netscape has very limited support of CSS layers - and top it off: the limited support it offers is quite often executed with failures.

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

CSS Code

AYER 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 of the attribute to your style.

  • The position can be either relative or absolute.

  • The position itself is defined with left and the top properties.

  • Finally, which layer is on top is defined with the help of z-index attribute.




RELATIVE VERSUS ABSOLUTE POSITIONING

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

position:absolute

If you define the position to 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 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 previously.




DEFINING THE POSITION

  • While the position property indicate 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 contents 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 codes you can enter the code for a layer that is positioned at the top of the resulting page.

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

  • This means that it is possible to move thing around on the screen even after the page has finished loading.

    In fact this technique can be 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 spade was at the bottom we'd say it had z-index:1;. If the queen of heart was at the top we'd say she had z-index:52;.

  • Try looking at the code examples 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 possibility arise from the fact that the z-index can be dynamically changed with JavaScript.

  • It is possible to 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 technique 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.




VISIBILE VERSUS HIDDEN LAYERS

  • A final property is the visibility property that will allow you to create invisible layer.

  • Why would anyone want to create an invisible layer? Well, imagine the possibility 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 idea of the logic behind CSS layers).

  • Valid values for the visibility property are:hidden and visible.

  • This example shows how to create an invisible layers:

CSS Code
<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 element on your pages.

  • In reality layers are often used in more dynamic way:

    1. Flying elements/banners on the page
    2. Games where you move an object around
    3. Menus that pop out when triggered
    4. Menus that become visible when triggered
  • While all of these effects might seem pretty 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 can 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 is 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 certain effect is really needed - and if so: do not hesitate to use it.



Share And Enjoy:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blinkbits
  • BlinkList
  • blogmarks
  • co.mments
  • connotea
  • del.icio.us
  • De.lirio.us
  • digg
  • Fark
  • feedmelinks
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Netvouz
  • RawSugar
  • Reddit
  • scuttle
  • Shadows
  • Simpy
  • Smarking
  • Spurl
  • TailRank
  • Wists
  • YahooMyWeb

Previous Next

Keywords: css layers layer 2, css layers elements, css layers z-index, div style


HTML Quizes
HTML Quiz
XHTML Quiz
CSS Quiz
TCP/IP Quiz
XML Quizes
XML Quiz
XSL Quiz
XSLT Quiz
DTD Quiz
Schema Quiz
XForms Quiz
XSL-FO Quiz
XML DOM Quiz
XLink Quiz
XQuery Quiz
XPath Quiz
XPointer Quiz
RDF Quiz
SOAP Quiz
WSDL Quiz
RSS Quiz
WAP Quiz
Web Services Quiz
Browser Scripting Quizes
JavaScript Quiz
VBScript Quiz
AJAX Quiz
DHTML Quiz
HTML DOM Quiz
WMLScript Quiz
E4X Quiz
Server Scripting Quizes
ASP Quiz
PHP Quiz
PERL Quiz
SQL Quiz
ADO Quiz
.NET (dotnet) Quizes
Microsoft.Net Quiz
XML Web Services Quiz
ASP.Net Quiz
.Net Mobile Quiz
C# : C Sharp Quiz
ADO.NET Quiz
VB.NET Quiz
Multimedia Quizes
SVG Quiz
Flash Quiz
Media Quiz
SMIL Quiz
Web Building  Quizes
Web Browsers Quiz
Web Hosting Quiz
W3C Quiz
Web Building Quiz
Web Quality Quiz
Web Semantic Quiz
Web Careers Quiz
Java Quizes
Java Quiz
JSP Quiz
Servlets Quiz
Struts Quiz
EJB Quiz
JMS Quiz
JMX Quiz
Programming Langauges Quizes
C Quiz
C++ Quiz
Visual Basic Quiz
Data Structures Using C Quiz
Soft Skills Quizes
Communication Skills Quiz
Time Management Quiz
Project Management Quiz
Team Work Quiz
Leadership Skills Quiz
Corporate Communication Quiz
Negotiation Skills Quiz

Privacy Policy
Copyright © 2003-2008 Vyom Technosoft Pvt. Ltd., All Rights Reserved.