> 웹 프론트엔드 > CSS 튜토리얼 > 표현식은 JS와 Css_CSS/HTML을 결합합니다.

표현식은 JS와 Css_CSS/HTML을 결합합니다.

WBOY
풀어 주다: 2016-05-16 12:11:01
원래의
1602명이 탐색했습니다.

IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javas cript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javas cript表达式,CSS属性的值等于Javas cript表达式计算的结果。 在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。

  给元素固有属性赋值

  例如,你可以依照浏览器的大小来安置一个元素的位置。

#myDiv {
position: absolute;
width: 100px;
height: 100px;
left: expression(document.body.offsetWidth - 110 + "px");
top: expression(document.body.offsetHeight - 110 + "px");
background: red;
}

  给元素自定义属性赋值

  例如,消除页面上的链接虚线框。 通常的做法是:

link1
link2
link3

  粗看或许还体现不出采用expression的优势,但如果你的页面上有几十甚至上百个链接,这时的你难道还会机械式地Ctrl+C,Ctrl+V么,何况两者一比较,哪个产生的冗余代码更多呢?

  采用expression的做法如下:


link1
link2
link3

  说明:里面的star就是自己任意定义的属性,你可以随自己喜好另外定义,接着包含在expression()里的语句就是JS脚本,在自定义属性与expression之间可别忘了还有一个引号,因为实质还是CSS,所以放在style标签内,而非s cript内。OK,这样就很容易地用一句话实现了页面中的链接虚线框的消除。不过你先别得意,如果触发的特效是CSS的属性变化,那么出来的结果会跟你的本意有差别。例如你想随鼠标的移进移出而改变页面中的文本框颜色更改,你可能想当然的会认为应该写为





  可结果却是出现脚本出错,正确的写法应该把CSS样式的定义写进函数内,如下所示:




  注意

  不是非常需要,一般不建议使用expression,因为expression对浏览器资源要求比较高。

实例:利用css里expression来实现界面对象的批量控制

Penerangan masalah: Kami tahu daripada menggunakan gaya CSS bahawa kami boleh mentakrifkan atribut kelas bagi sekumpulan objek untuk menentukan gaya yang sama untuk menyatukan antara muka Tetapi bagaimana untuk menyatukan acara objek yang sama sebagai contoh: antara muka mempunyai banyak Bagaimana untuk menyedari bahawa apabila tetikus melepasi gambar ini, src gambar menjadi **_over.jpg?


Penyelesaian: Gunakan kaedah ungkapan css,
Pelaksanaan khusus bergantung pada cara menulis .css:

/*Ganti imej CSS*/
#imgScript { /*Di sini ID objek ialah digunakan untuk wildcard gaya, atau anda boleh mentakrifkan fungsi css*/
star:expression(
onmouseover = function()
{
/*replace image*/
if(this. hover != null){
this.name = this.src;
this.src = this.src.replace(''.jpg'', ''_over.jpg''); .HasChg = 1;
}
},
onmouseout = function()
{
/*Pulihkan gambar asal*/
if(this.HasChg != null){
this.src = this.name;
this.HasChg = null;
}
}
)

}/*end imgScript*/

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿