考虑到较旧的浏览器,使用HTML5元素是否谨慎?

考虑到较旧的浏览器,使用HTML5元素是否谨慎?,html,cross-browser,element,Html,Cross Browser,Element,我想到的是,,,和HTML5 doctype 现在这样设计页面有什么好处吗?较老的浏览器将如何看待它们?它们能被验证吗 我只是不确定这些东西向后兼容的程度。当然,是的-许多浏览器已经实现了对HTML 5部分的支持,或者通常与HTML 5相关联的功能,而其中一些功能的方式是,即使您将它们介绍给一个没有尝试过的浏览器,您也不会破坏任何东西 和往常一样,您应该使用适当的功能检测,而不是全方位的浏览器检测,来确定可用的功能—它不易受到损坏的用户代理字符串等的攻击 有一个很好的指南,基本上讨论了这一点。确

我想到的是
和HTML5 doctype

现在这样设计页面有什么好处吗?较老的浏览器将如何看待它们?它们能被验证吗


我只是不确定这些东西向后兼容的程度。

当然,是的-许多浏览器已经实现了对HTML 5部分的支持,或者通常与HTML 5相关联的功能,而其中一些功能的方式是,即使您将它们介绍给一个没有尝试过的浏览器,您也不会破坏任何东西

和往常一样,您应该使用适当的功能检测,而不是全方位的浏览器检测,来确定可用的功能—它不易受到损坏的用户代理字符串等的攻击


有一个很好的指南,基本上讨论了这一点。

确保向后兼容性的一个很好的方法是使用类似Modernizer的东西,它是一个javascript文件,告诉您用户浏览器支持哪些html5/css3功能,这允许您以一种优雅降级的方式设计代码,或者只是对不同的浏览器使用不同的规则(例如,为支持该属性的浏览器创建一个使用边框半径的类,为不支持该属性的浏览器创建一个使用基于图像的圆角的单独类)


是的,html5是一个通用标准,因此大多数(不包括IE)都非常支持它。此外,如果不支持视频,你可以在视频标签中添加flash,如果不支持html5,你可以设置一个类似jquery的库作为备份。

你在帖子中问了几个问题:

现在[使用HTML5]设计网页有什么好处吗

对 使用新的语义网,你可以获得语义。你给你的数据赋予意义,然后这些数据就可以做奇妙的事情

较老的浏览器将如何看待它们

这取决于浏览器 HTML规范规定应忽略非标准HTML元素,就好像它们从来都不在源代码中一样(除非另有说明)。对于大多数符合标准的浏览器(阅读:FF、Safari、Opera、Chrome),在显示HTML5元素之前,您必须为它们提供一种显示样式:

section, header, footer, nav, article
{
  display: block;
}
请记住,这取决于浏览器是否真正符合规范,而一些较老的浏览器*cough*IE*cough*没有做到这一点(有时我想知道IE开发团队是否阅读过任何HTML规范)

它们能被验证吗

某种程度上。。。
HTML5规范尚未最终确定,但已经有许多在线HTML5验证程序可用。

出于其他回复中提到的原因,这可能是值得的,但有几个问题需要记住:

  • 正如其他地方提到的,不理解新元素的浏览器需要在样式表中添加display:block
  • IE 9之前的版本不允许你设计未知元素的样式,所以你需要使用JavaScript攻击。有关如何实现这一点的更多信息,请参阅
  • 黑莓浏览器(黑莓OS6之前的版本)也不允许对其进行样式设置。我不知道有什么解决方法。这对你是否重要取决于你的网站在多大程度上专注于移动,以及你是否有一个单独的移动网站。黑莓浏览器是一种流行的移动浏览器,但是,使用WebKit浏览器的新黑莓操作系统需要一段时间才能获得显著的效果无法共享黑莓设备
  • 屏幕阅读器也不知道这些新元素。建议将它们与等效的ARIA角色合并,直到支持无处不在。有关更多信息,请参阅

我不知道使用HTML5 doctype有什么缺点。我相信这是完全安全的使用。

谷歌停止支持IE6的gmail;现在是我们从旧浏览器转向新浏览器的时候了。+1,但我编辑了你的链接文本,让你知道链接的位置以及为什么有用。希望你不介意?(如果你介意,我很抱歉踩了你的脚!)=)+1表示“有时我想知道IE开发团队是否阅读过任何HTML规范”