代码之家  ›  专栏  ›  技术社区  ›  Mike

IE8删除CSS属性

  •  0
  • Mike  · 技术社区  · 15 年前

    我终于完成了一个Web应用程序,现在我必须使它与Internet Explorer兼容(至少8个)。它现在几乎完成了,除了一个地方,在那里IE8显然删除了一些我定义的CSS格式。

    我上传了一些 generating Perl Code 如何 Firefox (+ Firebug) 呈现它以及如何 IE8 (+ "Web Developer Tools") 渲染它。

    IE8似乎忽略了我创建的每个元素的宽度、高度、左侧和顶部。谷歌似乎对这种行为一无所知。有人能帮我吗?

    选修课

    如果你想知道它应该做什么:应用程序的这一部分在故事板上创建了一个覆盖层(有点像在线漫画创作者),并用用户创建的所有面板填充屏幕。它缩小/增大预览,以便在不拉伸图像的情况下尽可能地耗尽整个屏幕,并将它们排列在网格中(1x1、1x2、2x2、2x3等)。然后,可以通过单击屏幕标题来重命名屏幕,可以通过拖动对其进行排序,还可以通过单击鼠标悬停时出现在右上角的删除按钮来删除屏幕(就像iPhone上的徽章一样)。这就像一个魅力,我花了一些时间让CSS像它应该的那样工作。

    编辑1

    代码需要重新考虑因素(这是我最后要做的事情),所以代码中有一些可疑的CSS。别介意:)

    编辑2

    我可能找到了一种方法通过 my Public Folder .只需下载storyboard.zip并打开storyboard.html。

    编辑3

    在那边的人的帮助下 doctype ,我能追踪到 discover 臭虫。现在这很麻烦,因为我需要window.innerheaight和window.innerwidth中的值来调整预览,使其尽可能填满屏幕。你们知道另一种选择吗?

    2 回复  |  直到 15 年前
        1
  •  0
  •   bobince    15 年前

    如果没有更多的代码/a演示很难分辨出来,看起来你有很多CSS,我们只能在屏幕上看到一些。然而,

    IE8似乎忽略了我创建的每个元素的宽度、高度、左侧和顶部。

    通常是由于在宽度和高度上丢失了“px”单元,但任何CSS解析错误都可能导致这种情况。我们看不到生成的HTML源代码,但是源代码中的反斜杠是什么?它们会被您正在使用的任何语言字符串格式所取代吗?尝试复制/粘贴 style 属性到 CSS validator 检查是否有明显的错误。

    黑色覆盖层的透明度也存在问题。根据dom判断,ie无法解析__filter__trade属性,如何设置?由于您似乎在使用jquery,因此应该能够从脚本中使用 element.css('opacity', .5) .(编辑:我猜你真的这么做了,从“变焦:1”的角度来看。但是很明显,filter属性是坏的;jquery如果不能做到这一点,它将执行此操作。 parseInt 价值。作为价值传递给 .css() ?)

    我也不确定是什么:

    style="width:auto;height:auto;position:static;
    

    是的,这些都是默认值。阿尔索 max-width ,像 width ,不适用于内联元素。

    奖金: $screen_name (以及模板中的任何或文本字符串)需要进行HTML转义,否则可能存在跨站点脚本漏洞。纯数字ID无效。

        2
  •  0
  •   Mike    15 年前

    问题的答案是 doctype .
    问题是IE和世界其他地方不兼容。

    我使用window.innerheaight和window.innerwidth来确定预览的大小。不幸的是,IE不支持这个函数,所以它返回了一个NaN而不是一个数字,然后Perl将其作为NaN进行处理。IE最后收到的CSS是

    width: NaNpx;
    

    我按document.body.offsetwidth(与height相同)更改了window.innerwidth,现在它可以工作了,尽管没有那么漂亮。