Behavior in CSS: expression

Source: Internet
Author: User
Tags definition

The behavior--expression in CSS

Recently, the behavior of CSS is more interested in, although it is not in line with the standard and only IE can be recognized, but he did give the function of CSS expanded a lot. Here are some words and examples from the Internet, because they are all rotten and cannot be noted.

IE5 and its later versions support the use of expression in CSS to associate CSS properties with JavaScript expressions, where CSS attributes can be intrinsic or custom attributes of an element. This means that the CSS attribute can be followed by a JavaScript expression, and the value of the CSS property equals the result of the JavaScript expression calculation. You can refer directly to the properties and methods of an element itself in an expression, or you can use a different browser object. The expression is as if it were in a member function of this element.

Assigning values to intrinsic attributes of an element

The following is the definition of the width of the container container, if the <725 for their own width, otherwise equals 725, equivalent to max-width:725px;.

<style type= "text/css" media= "screen" >
#container {width:expression (Documentelement.clientwidth < 725)? "725px": "Auto"); }
</style>

Assigning values to element custom attributes

For example, eliminate the link dashed box on the page. The usual practice is to:

<a href= "link1.htm" onfocus= "This.blur ()" >link1</a>
<a href= "link2.htm" onfocus= "This.blur ()" >link2</a>
<a href= "link3.htm" onfocus= "This.blur ()" >link3</a>

Coarse look may also reflect the use of expression advantage, but if your page has dozens of or even hundreds of links, at this time you will also mechanical ctrl+c,ctrl+v Mody, not to mention the two comparisons, which produces more redundant code?

The use of expression is as follows:

<style type= "Text/css" >
A {star:expression (Onfocus=this.blur);}
</style>
<a href= "link1.htm" >link1</a>
<a href= "link2.htm" >link2</a>
<a href= "link3.htm" >link3</a>

Description: The inside of the star is its own arbitrary definition of attributes, you can follow their own preferences to define another, and then included in the expression () of the statement is a JS script, in the custom attribute and expression between do not forget to have a quotation mark, because the essence or CSS, So put it inside the style label, not the script. OK, so it is easy to use a word to achieve the link in the Page dashed box elimination. But you should not be complacent, if the trigger effect is a CSS attribute changes, then the results will be different from your original intention. For example, if you want to change the color of a text box in a page by moving it out of the mouse, you might take it for granted that you should write

<style type= "Text/css" >
Input {star:expression (onmouseover=this.style.backgroundcolor= "#F5F5F5";
Onmouseout=this.style.backgroundcolor= "#FFFFFF")}
</style>
<input type= "Text" >
<input type= "Text" >
<input type= "Text" >

But the result is a script error, the correct writing should be the definition of CSS style into the function, as follows:

<style type= "Text/css" >
Input {star:expression (Onmouseover=function ()
{this.style.backgroundcolor= "#FF0000"},
Onmouseout=function () {this.style.backgroundcolor= "#FFFFFF"})}
</style>
<input type= "Text" >
<input type= "Text" >
<input type= "Text" >

Note: It is not very much needed, and expression is generally not recommended because expression is more demanding on browser resources.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.