CSS -如何做一个一次性的CSS表达式在css中?(例如IE的max-height / max-width)
CSS - How to do a: "ONE-TIME CSS EXPRESSION" in css? (e.g. max-height / max-width for IE)
我通常在幻想在SO中提出问题之前解决我的编程问题,但这是第一次我似乎找不到答案.... SO…这是我在尝试解决这个问题几个小时后向网站提出的第一个问题:
¿如何有一个一次性的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这是伟大的,因为它是唯一一个我发现,试图解决这个…但我似乎做不到....
我想做什么…是模拟"max-width"answers"max-height"在IE…我知道FF和其他所有东西都可以直接使用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>
呃呃……嗯,这是基本的想法……我已经尝试了不同的方法,上面的文章试图解释,我已经试着给这个家伙发了一封邮件,嗯,但是当我等待可能的答案时,我把这个问题暴露给了SO社区,因为无法开始找到我认为可能很简单的答案是非常奇怪的…
所以现在…据我所知,表达式重复自己…,我得到滚动,如果原始内容大于400px....但我知道它会不断重复,因为……如果我发送一个"alert()"它总是出现....所以....再次,我怎样才能实现一次表达…IE不会对它进行评估鼠标移动或任何动作....
谢谢提前=)(抱歉我奇怪的缩进代码…div = P)
我不知道你到底想要什么,但我希望这对你有帮助:
效仿max-width:
* html div#division
{
width: expression( document.body.clientWidth > 776 ? "777px" : "auto" ); /* sets max-width for IE */
}
div#division
{
max-width: 777px; /* this sets the max-width value for all standards-compliant browsers */
}
效仿max-height
* html div#division
{
height: expression( this.scrollHeight > 332 ? "333px" : "auto" ); /* sets max-height for IE */
}
div#division
{
max-height: 333px; /* sets max-height value for all standards-compliant browsers */
}
http://perishablepress.com/press/2007/01/16/maximum-and-minimum-height-and-width-in-internet-explorer/注意,一次性css表达式不再被支持。http://blogs.msdn.com/b/ie/archive/2008/10/16/ending-expressions.aspx
max-width和max-height DO在IE中工作(在6中有bug)。只要确保:
- 添加重要:
style="max-height: 200px !important"
- 添加DOCTYPE "-//W3C//DTD XHTML 1.0"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<div style="border: red thin dotted; max-height: 40px !important; overflow: hidden"><pre>qwerty
qwerty
qwerty</pre></div>
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- CSS-如何定位内容数据标题
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- CSS表格:从列平移到整个表格宽度
- CKEditor-我在editor.css中的风格是't
- 单击更改图标并通过javascript添加一个css类
- 将CSS应用于printWindow.print();在Javascript中
- css样式加载+id.例如加载1、加载300
- 更改纵向屏幕(例如 iPad)的 CSS
- 如何仅使用Web技术(例如HTML,CSS和Javascript)重新创建图像,例如.png或.jpg
- CSS伪元素上的事件侦听器,例如::after和::before
- 使用Marionette Backbone.js渲染视图后,获取计算的CSS属性(例如:宽度)
- HTML和CSS中的图标作为代码(例如:)
- CSS -如何做一个一次性的CSS表达式在css中?(例如IE的max-height / max-width)
- HTML/CSS -如何设置文本(例如'Quote of the Day')在页面加载/重新加载时自动改
- 资源URL中的ETag或hash,例如js、css、image
- 如何检测一个或多个JS/CSS库加载失败(例如CDN)