CSS Don't

« Previous Chapter Next Chapter »

Here are some technologies you should try to avoid when using CSS.

Internet Explorer Behaviors

What is it? Internet Explorer 5 introduced behaviors. Behaviors are a way to add behaviors to HTML elements with the use of CSS styles.

Why avoid it? The behavior attribute is only supported by Internet Explorer.

Example - Mouseover Highlight

The Below HTML file has a <style> element that defines a behavior for the <h1> element:

<html>
<head>
<style type="text/css">
h1 { behavior:url(behave.htc); }
</style>
</head>

<body>
<h1>Mouse Cursor over me!!!</h1>
</body>
</html>

The XML document "behave.htc" is shown below:

Example (IE 5+ Only)

The behavior file contains a JavaScript and event handlers for the elements.

<attach for="element" event="onmouseover" handler="hig_lite" />
<attach for="element" event="onmouseout" handler="low_lite" />

<script type="text/javascript">
function hig_lite()
{
element.style.color='red';
}

function low_lite()
{
element.style.color='blue';
}
</script>

Example - Typewriter Simulation

The Below HTML file has a <style> element that defines a behavior for elements with an id of "typing":

<html>
<head>
<style type="text/css">
#typing
{
behavior:url(behave_typing.htc);
font-family:"courier new";
}
</style>
</head>

<body>
<span id="typing" speed="100">IE5 introduced DHTML behaviors.
Behaviors are a way to add DHTML functionality to HTML elements
with the ease of CSS.<br /><br />How do behaviors work?<br />
By using XML we can link behaviors to any element in a web page
and manipulate that element.</p>
</span>
</body>
</html>

The XML document "typing.htc" is shown below:

Example (IE 5+ Only)

<attach for="window" event="onload" handler="beginTyping" />
<method name="type" />

<script type="text/javascript">
var i,text1,text2,textLength,t;

function beginTyping()
{
i=0;
text1=element.innerText;
textLength=text1.length;
element.innerText="";
text2="";
t=window.setInterval(element.id+".type()",speed);
}

function type()
{
text2=text2+text1.substring(i,i+1);
element.innerText=text2;
i=i+1;
if (i==textLength)
  {
  clearInterval(t);
  }
}
</script>

« Previous Chapter Next Chapter »

Have Any Suggestion? We Are Waiting To Hear from YOU!

Your Query was successfully sent!