最终,我们会看到有一天,我们可以完全使用HTML5和CSS3,不用担心任何积极浏览网页的人会有一个如此古老的客户端,他们无法看到我们的意图. 不幸的是,这一天不是今天, 所以我们仍然需要HTML4和CSS2客户端的选项, 还有那些得到部分支持的人.
在我看来,最好的开始是 modernizr -一个免费的JavaScript库,简化和自动化的特征检测, 无需依赖浏览器嗅探等过时的做法. 对于许多特性,modernizr在标签中添加了类,使得选择CSS非常容易. 自定义JavaScript可以很容易地使用modernizr来确定哪些特性可用, 在必要时, 补充浏览器的现有功能. 例如, creating a JavaScript-based date picker for browsers which don’t support or providing a combination of cookies and ajax to replicate the functionality of localStorage.
有相当多的工具可以帮助为落后的浏览器提供功能. 一个很好的例子是 Webshims自由. 它模拟了浏览器对许多原生不支持的HTML5特性的支持. Webshims的优点在于,你可以把它包括在内,然后编码,就好像每个浏览器都完全支持HTML5一样, 它会填补几乎所有情况下的空白. 这允许比每次定制编码的备用解决方案更快的开发.
确保在查看这些原生支持或不支持的元素时(尽可能多地)跨浏览器一致性, HTML5重置 是一个很好的开始. 您可能需要根据您的特定需求定制它, 但这是一个很好的起点,它可以防止您忘记一些简单的事情,比如确保所有浏览器都呈现为块元素, and consistent spacing for
,
- , 等.
至于CSS, 我目前的做法是(在modernizr的帮助下)对不支持边框图像的浏览器使用图像或纯色回退, linear-gradient, 径向渐变, 多个背景, 不必, 等.