|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
网上冲浪无论你用InternetExplorer还是NetscapeNavigator,几乎随时都在与CSS打交道,在网上没有使用过CSS的网页可能不好找。
网页制造poluoluo文章简介:CSS中写expression大概会在Chrome中有成绩.
先看一段HTML代码,鄙人边这段代码中,这张图片的宽度未知,我想写在CSS中写一行限定最年夜宽度为50px:
<divid="test">
<imgsrc="http://www.zishu.cn/attachments/month_0702/n2007271255.gif"/>
</div>
Firefox或IE较高的版本能够间接写max-width。在IE的低版本扫瞄器中,我们大概会写以下的代码:
#testimg{width:expression(this.width>50?50px:true);max-width:50px;}
但,上边的代码会有一本性能上的成绩,功能会十分的差。为何差,能够看一下之前写过的:expression为何功能差?
为懂得决功能上的成绩,我把代码写成了以下:
#testimg{width:expression(this.width>50?function(abc){abc.style.width=50px;}(this):auto);max-width:50px;}
写好后,在IE和FIREFOX都是一般的!
可是,在Chrome中就分歧了,在这行下边的一切CSS都不克不及加载;以下边的代码,最初一行CSS在CHROME中是不实行的;
#testimg{padding:10px;}
#testimg{width:expression(this.width>50?function(abc){abc.style.width=50px;}(this):auto);max-width:50px;}
#testimg{border:20pxsolid#FFCC00}
在IE和FIREFOX中是能够看到图片有黄色边框的,但在CHROME中是没有的。
expression在Chrome中的成绩要晓得有这么回事,写代码时能够避开。
expression的器材能不必就不要用,一担用了另有功能成绩,为懂得决功能成绩又是出来了一个CHROME的成绩。
为懂得决CHROME的成绩就又有功能成绩了,不晓得有无更好的举措能兼容一下二者,其实不可就得在外边用JS来跑了。
以后发明是代码中的成绩,感激fireyy的提醒,写成如许就没有成绩了,少写了一个括号,但如许不知为何在IE中没有成绩:
(function(abc){abc.style.width=50px;})(this)
</p>
业界越来越关注DIV+CSS的标准化设计,大到各大门户网站,小到不计其数的个人网站,在Div+CSS标准化的影响下,网页设计人员已经把这一要求作为行业标准。 |
|