Tuesday 14 January 2014

Layers with example programs

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.


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.

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.

Where we use in real time:

  • 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




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

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

</html>




No comments:

Post a Comment