在我幻想在SO中提出问题之前,我通常解决了我的编程疑惑,但这是我第一次似乎无法找到答案.... so ...这是我的第一个问题,经过几小时试图解决这个问题:CSS - 如何做一个:“一次CSS表达式”在CSS? (例如IE的最大高度/最大宽度)
¿如何拥有一次性的css表达式?
为什么一次性表达?: 如果我们做一些测试一样(注意,导致IE6 IE7 &会一次又一次地显示警报...):
<div style="height:expression(alert('this alert repeats itself'));">
content with infinite alert...
</div>
表达式被评估直到时间结束......这就是为什么我想要理解一种让它只发生一次的方法,就像覆盖2°文章试图解释的样式一样,但我不能真正地得到它的工作....
,因为我们可以在这篇文章中读到:
http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_6/
表达自我重复,并且可能是一个性能问题...
那么这篇文章:
http://vacskamati.blogspot.com/2008/10/one-time-execution-of-ie-css.html
这是伟大的原因,这是我发现的唯一一个tr我可以解决这个问题......但我似乎无法做到这一点....
我在做什么...是模拟“最大宽度”和“最大高度”在IE ...我知道FF和evyerthing否则可以直接使用CSS ..我必须让它在IE6和IE7中以某种方式工作...
我知道我可以在外面使用JS,但是你会在我的代码中看到...我会尝试放置php值...所以我需要直接在表达式中进行一些控制,因此它只会自动执行一次,然后我不必在别处编写JS函数。 ..我认为这应该是非常简单的...但我只是可以得到它...无论如何...我的代码是这样的东西....:
<div id="div_id"
style="
max-height:<?php echo $height_var; ?>;
-$height:
expression(
if(document.getElementById('div_id').offsetHeight><?php echo $height_var; ?>){
document.getElementById('div_id').style.height = '400px'
}
);
overflow:scroll;
" >
content--lbalbalbalbalblablablalb
</div>
的sooo ...嗯这是最基本的想法...我已经tryied不同的方式上面的文章tryies解释,我已经tryied发送人邮件,嗯,可是当我等待可能的答案,我将这个问题暴露给SO社区,因为不能找到我认为可能很简单的东西的答案是很奇怪的......
所以现在...就我所知,EXPRESSION重复本身..我得到SCROLL,如果原始内容大于400px ....但我知道它重复自身,因为...如果我发送“警报()”它始终显示....所以。 ...再次如何实现一次性表达式...因此IE不会评估它是否为鼠标移动或任何动作....
在此先感谢=)(并为我奇怪的缩进代码感到遗憾...= P)
请原谅我的无知,但为什么' - ! $ height:'而不是'height:'? – shanethehat
啊,是的,嗯,我在第二篇文章的评论中读到,使用 - $ hack是因为只有IE6和IE7读取表达式= P,但我猜有点可选? – Edward
当内容占用比父元素更多的空间时,你期望发生什么? – Dor