如何解决浏览器兼容性问题

时间:2010-06-24 11:46:45

标签: css internet-explorer cross-browser

我创建了一个供个人使用的网站。我正在使用Mozilla Firefox。但是当我搬到IE7时,整个网站都丢失了。结构及其所有对齐已经消失。所以请帮我解决这个问题。

5 个答案:

答案 0 :(得分:3)

我通常在“当前/最新”版本中打开至少5种不同的浏览器(Internet Explorer,Firefox,谷歌浏览器,Apple Safari和Opera) - 有时我也会向后退一个版本 - 特别是在Internet Explorer中,因为他们的标准发生了变化喜欢刮风。 : - )

我建立了一个遵循W3C http://www.w3.org/标准(X)HTML的网站,并在Chrome和Internet Explorer中使用CSS和XHTML,然后完成了大部分工作。

我花了很少的时间“摆弄”最后的浏览器,因为它们或多或少都遵循相同的规格。其次谷歌Chrome和Firefox非常适合调试奇怪的CSS / HTML错误。

我从不对CSS中的浏览器限制进行任何“黑客攻击”,没有“clearfix hacks”或任何特殊样式表,具体取决于浏览器类型。

但是如果我的网站要在某些其他硬件平台(如手机)上工作,我可能会做第二个样式表,或者只是生成另一个结构的整个网站以及另一个URL,例如:http://m.example.com/

为了帮助您使网站正常运行,我宁愿说:

1。)你当前的HTML / CSS问题是什么?你在哪里做出了一些错误的决定而且无法解决这些问题?

2。)重新构建具有已知W3C标准的网站,并检查新布局和导航是否与Internet Explorer(最少7个)和最新的Google Chrome兼容,然后您已涵盖大多数标准。

3.)了解何时在CSS http://www.w3schools.com/css/pr_class_display.asp

中使用display:block;

4.。)永远不要将WADTH / HEIGHT设置与PADDING和MARGIN混合在同一个CSS类中,这将使一些旧的浏览器弄乱您的设计。这可能是您设计崩溃的主要原因。

最后......总是记得向我们提供一些关于你的问题的文档,这样我们就可以检查它是否真的知道解决方案......换句话说,问题出在哪里?告诉我们......

这是否有用,请将其标记为您的答案。感谢

答案 1 :(得分:2)

答案 2 :(得分:0)

指定浏览器特定的样式表是一种解决方案,但我真的不喜欢它,因为它可能不可靠且难以管理。

您最好的解决方案是在开发过程中在所有浏览器中进行测试,并确保在转到下一个设计元素之前,所有浏览器中的所有内容都应该如此。

经验和反复试验是不幸的唯一方法。

答案 3 :(得分:-1)

浏览器在实现布局和CSS方面存在很多差异,最明显的原因是most versions of Internet Explorer implement CSS badly。您必须为此处的人员提供更多具体细节,以便能够为您提供更多帮助,但一种可能的方法是use different stylesheets on IE from other browsers。请注意,这是一个复杂的区域,即使IE版本之间也存在重大差异!

答案 4 :(得分:-2)

找出破坏你的代码的内容,并在这个愚蠢的html if语句中修复它,这将是我的建议。

如果您的网站根本没有显示,您只需在if语句中编写整个新页面。

可悲的是,这些if语句仅支持IE变体,不支持Chrome,firefox,opera,Safari等。

<p><!--[if IE]>
    According to the conditional comment this is Internet Explorer<br />
    <![endif]-->
    <!--[if IE 5]>
    According to the conditional comment this is Internet Explorer 5<br />
    <![endif]-->
    <!--[if IE 5.0]>
    According to the conditional comment this is Internet Explorer 5.0<br />
    <![endif]-->
    <!--[if IE 5.5]>
    According to the conditional comment this is Internet Explorer 5.5<br />
    <![endif]-->
    <!--[if IE 6]>
    According to the conditional comment this is Internet Explorer 6<br />
    <![endif]-->
    <!--[if IE 7]>
    According to the conditional comment this is Internet Explorer 7<br />
    <![endif]-->
    <!--[if gte IE 5]>
    According to the conditional comment this is Internet Explorer 5 and up<br />
    <![endif]-->
    <!--[if lt IE 6]>
    According to the conditional comment this is Internet Explorer lower than 6<br />
    <![endif]-->
    <!--[if lte IE 5.5]>
    According to the conditional comment this is Internet Explorer lower or equal to 5.5<br />
    <![endif]-->
    <!--[if gt IE 6]>
    According to the conditional comment this is Internet Explorer greater than 6<br />
    <![endif]-->
    </p>