我正在设计一个使用bootstrap,HTML,CSS,CSS3和PHP作为服务器端语言的网站。但是当我在不同的浏览器上检查它时,通过检查HTML元素的某些外观和功能,我发现它与所有浏览器不兼容。我希望我的网页应该在每个浏览器上查看。
我想知道:
1)在设计跨浏览网站时我们需要考虑哪些方面?
2)我如何设计一个可以在不同浏览器上提供相同输出的页面。
答案 0 :(得分:1)
你的问题与PHP无关。 PHP在服务器上运行并生成(HTML)输出。该输出必须与浏览器兼容,但它不是特定于PHP以获得它。因此,我已从您的标题和标签中删除了PHP。
剩下的问题:
此外,浏览器已经内置了自己的CSS。h1
元素有一个粗体字体。不同浏览器的确切大小,系列和大胆程度可能会有所不同。因此,许多网站将以CSS Reset开头(谢谢,@ Vucko)。这基本上是一堆你可以包含的CSS代码,它会删除所有标记,或者至少在浏览器中使它们相同。
但即使在那之后,也不要瞄准像素完美。有时几乎已经足够好了。
这尤其适用于不重要的功能。例如,旧的IE浏览器不支持圆角和阴影,或者看起来可能略有不同。我没有通过构建大型HTML结构和添加背景图像来模仿这些CSS功能,而是认为你应该减少损失并接受阴影不会显示或角落平方,否则网站工作正常。
遵循标准是件好事。如果您遵循标准,并确保您的HTML有效,它将在大多数浏览器中显示几乎相同。
可能仍然存在差异,尤其是如果您使用并非所有浏览器都完全支持的新功能。使用广泛支持的功能,可归结为大量练习,大量知识,并且至少能够使用这些网站:
特别是那些概述非常有帮助。您可以一目了然地看到是否支持某项功能,以及CSS中是否需要特殊的CSS前缀(如-webkit-
)以使其适用于某些浏览器。
答案 1 :(得分:1)
1)在使用任何html5元素之前。只需查看caniuse.com即可。查看它是否与您想要的浏览器兼容。如果您迫切希望使用该元素,请提供错误回调或仅提供替代回调。
2)在浏览器上使用-webkit-
或-moz-
等前缀作为部分支持的css规则(您可以查看caniuse)。如果他们根本不支持该规则,则回退到图像但是页面加载。您还可以使用像normalize.css这样的cssreset库来标准浏览器的默认样式。