【问题标题】:Cross compatible CSS (positioning)?交叉兼容的 CSS(定位)?
【发布时间】:2011-01-29 23:46:48
【问题描述】:

我有一个网站:http://www.quass.com/erase.php

Flash 小部件的位置在 Firefox 中很好,但在 IE8 中不行

这是什么原因?如何解决?

【问题讨论】:

  • W3C 验证器中只有 100 个错误和 46 个警告。你说IE8抱怨?奇怪...

标签: php html css internet-explorer firefox


【解决方案1】:

您没有定义DOCTYPE,因此页面在quirks mode 中呈现。所以你需要使用正确的DOCTYPEHere 您可以找到 DOCTYPE 是什么以及您有哪些选择。您必须将其添加到 html 文档的顶部。如果你想使用 html5 仍然需要 DOCTYPE,所以你必须使用<!DOCTYPE HTML>。然后,无论您选择的DOCTYPE 是什么,您都可以使用w3 validator 验证您的网页。

【讨论】:

    【解决方案2】:

    正如 reiso 在这里回答的那样,您遇到了格式错误的 HTML 问题。虽然 Firefox 并没有那么麻烦,但 IE8 在这方面有点棘手。 检查您的来源,关闭所有<div>s 标签,然后再开始另一个<div>,如果您使html 编写良好且符合标准,我100% 确定一切都会如您所愿:)

    一旦我遇到了同样的问题,你猜怎么着?只是<div> 标记未关闭导致 IE 乱七八糟。

    【讨论】:

    • 所有浏览器都对此很挑剔。 IE 传统上实际上对它没有那么严格,它只是不会尝试匹配其他浏览器的渲染。
    【解决方案3】:

    您的代码是malformed。最具体地说,您缺少 doctype 声明。 <!doctype html> 对于初学者来说是一个不错的选择——在你的源代码中绝对不能有任何字符。

    【讨论】:

    • @Sarfraz 请告诉我你在竞争性的反对意见中胜出-_-
    • 这个答案是错误的和过时的。 HTML5 引入了“未命名”的文档类型声明。 编辑:他似乎不确定他的消息来源。但是,我的抱怨仍然有效:)
    • HTML5 需要 doctype 声明 (w3.org/tr/html5/syntax.html#syntax-doctype),即使不需要,doctype 声明的必要性与规范无关,与供应商实现有很大关系。
    • @Matt:您本可以在我的回答中发表相同的评论,指出 reisio 不加任何解释地拒绝投票给我。为什么会有偏见……
    • @Sarfraz - 我的想法没有偏见。像@reisio 一样,我认为最好 1) 更正无效的 HTML 和 2) 在考虑使用条件 cmets 之前使用 doctype 来启用标准模式。你的建议确实很糟糕。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 2015-01-22
    相关资源
    最近更新 更多