我们是否应该在我们的Web应用程序中找到变通方法,以便它们能够在各种情况下工作?是时候取消IE6编程了吗?
通常在Web开发社区中,您会听到有人抱怨开发IE6.但是,如果您正在使用像jQuery这样强大的JavaScript框架进行开发,那么开发IE6与开发IE7有什么不同?
所有IE6问题都有一个解决方案吗?一个HTC/jQuery文件修复IE6问题,如PNG,背景位置,悬停,(甚至)圆角...
我太累了,无法查找所有修复程序,测试它们并将它们单独放入.
我已经习惯了这样的想法:如果我想/需要以跨浏览器的方式使用alpha-trans PNG,我在div上使用背景图像,然后在IE6-only CSS中将背景标记为"无"并包含正确的"过滤器"参数.
还有另外一种方法吗?更好的方法?有没有办法用img标签而不是背景图像?
嗯我不确定是否有人遇到过这个问题
IE6上的简短描述任何<select>
对象都显示在任何其他项目上,甚至是div ...意思是如果你有一个花哨的javascript效果显示一个应该在顶部的div一切(例如:灯箱,多箱等等)onclick某个元素,并且div与<select>
你的div get 重叠显示,好像它在<select>
[在这种情况下最大和最小z-index不起作用]
我已经尝试谷歌搜索并找到了iframe垫片解决方案,
但我想要一些非常干净的替代品或者更好,但有没有人找到更好的解决方案?因为使用iframes的方法使用大约130mb的ram可能会减慢穷人的机器速度
javascript css internet-explorer css-selectors internet-explorer-6
我已经阅读了一些关于它的文章,但没有得到实际的内容.任何人都可以解释我.
它只与IE6有关吗?
这是什么zoom:1
?
是layout
IE只有TAG吗?
编辑:
我发现这个信息对我来说非常有用
因为Internet Explorer太旧了(因为它是第一批可用的浏览器之一),所以它没有像现有浏览器那样重新开始.随着时间的推移,微软开始采用新引擎来利用CSS.看起来很好......然而,CSS改变了Internet Explorer引擎所基于的基本假设 - 任何重要的东西都是包含其所有内容的矩形.
因此,为了处理新的CSS标准,微软决定通过实现hasLayout属性来修复他们的古老引擎,而不是重建IE.Internet Explorer中的每个元素现在都具有hasLayout属性.根据元素,默认情况下设置为true或false.如果hasLayout设置为true - 该元素是一个独立的框,负责渲染自身.如果为false - 则元素依赖于hasLayout设置为true的父元素来呈现它.这是大多数IE漏洞变为现实的地方.
来源:http://bytesizecss.com/blog/post/fix-haslayout-with-one-line-of-css
我在这里又找到了一个讨论:http://www.molly.com/2007/03/30/back-to-work-someone-please-clearly-articulate-haslayout/
还在寻找答案.
更改或重新分配到过滤器innerHTML
成功重绘元素,但会破坏我的脚本,所以就这样了.
添加其他子节点(包括文本节点)不会强制重绘.删除添加的节点不会强制重绘.
使用ie7.js系列脚本不起作用.
在我正在开发的项目中,我动态生成(使用javascript)过滤器,如下所示:
<div class="filter">
<a ... class="filter_delete_link">Delete</a>
<div class="filter_field">
...
</div>
<div class="filter_compare">
...
</div>
<div class="filter_constraint">
...
</div>
<div class="filter_logic">
...
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有适用于每个过滤器的CSS(例如):
.filter a.filter_delete_link{
display:block;
height:16px;
background: url('../images/remove_16.gif') no-repeat;
padding-left:20px;
}
Run Code Online (Sandbox Code Playgroud)
但是,它似乎在IE 7中(可能只有6个),这些样式不适用于新的过滤器.
一切都在Firefox/Chrome/IE8中完美运行.
使用IE8开发人员工具,设置为IE7模式,浏览器可以看到新元素,并且可以看到CSS,但只是没有应用CSS.
有没有办法强制IE重新加载样式,或者是否有更好的方法来解决这个问题?
JavaScript :(简化)
var builder = {
...
createNewFilter: function() {
var newFilter = document.createElement('div');
var deleteLink = document.createElement('a');
deleteLink.href = '#';
deleteLink.setAttribute('class','filter_delete_link');
deleteLink.title = 'Delete Condition';
deleteLink.innerHTML = "Delete";
newFilter.appendChild(deleteLink);
var field = document.createElement('div');
field.setAttribute('class','filter_field'); …
Run Code Online (Sandbox Code Playgroud) firebug是一个非常有用的工具,我不能认为自己没有它.我还下载了js文件,它可以帮助你在使用IE6时获得类似的功能,希望它可以帮助我解决一些问题,但是,我收到的消息不是很友好,例如:
"预期':'(default2.aspx,16)" - 在第16行,没有任何东西可以期待":"
要么
"对象不支持此属性或方法(default2.aspx,198)"第198行没有任何有趣的东西可能需要任何支持.
我的网站看起来像IE6中的一个不同的网站..大多数的CSS没有工作,一些jquery功能不起作用,我需要让这个网站在IE6中工作.任何帮助将受到赞赏;
如何知道IE6中的消息(如上所述)以及如何在IE6中有效地调试js?
从哪里开始css兼容性..例如,我应该为不同的浏览器创建不同的css文件,并通过检测浏览器加载它们?或者有任何共同的问题和黑客?
我迷路了所以请给我任何指示开始..
我不知道如何或是否可以使用Internet Explorer 6完成此操作.
我试图将下一个兄弟姐妹漂浮在前一个兄弟姐妹的左边
这就是我正在做的事情,它可以正确显示chrome 6,opera 9和firefox 1+.
IE6的问题在于previous (2)
它浮动到最右边(最好next (1)
是在页面左侧的旁边).
.wrap{float:left;}
.prev {float:right;}
.next {float:left;}
<div class="wrap">
<div class="prev">previous (2)</div><div class="next">next (1)</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果可以做到并且你知道怎么做,我会给予250分的赏金