Answers:
现在,所有浏览器都支持HTML5,甚至IE5也是如此!(如果使用html5shiv脚本)。我强烈建议阅读http://diveintohtml5.org。它是目前最好的HTML5资源之一。
至于CSS3,如果您确实使用过CSS3,请确保在常规语法之上也使用供应商predix。例如
边界半径
-moz-border-radius
-webkit-border-radius
我相信逐步增强。IE9的css3支持听起来很有希望。
大概。
现在,您可以立即使用HTML5的某些部分。例如表格。如果您使用<input type="email">
的浏览器不支持HTML5(是的,甚至是IE6),您将看到与使用相同的东西<input type="text">
。但是,在支持HTML5表单元素的浏览器上,您可以获得该email
类型的优点:即,客户端将在不需要附加JS的情况下对值进行错误检查。是的,对于非HTML5浏览器,您仍然需要JS,但在支持的浏览器中,您将需要进行一层验证。
该站点上的另一个问题很好地概述了通过HTML5和CSS3为您提供的新功能。在这个问题上,表单上也有很多很好的数据。
由于Internet Explorer(以及Safari和Firefox的较旧版本,尽管它们可能很少见)不支持其中许多功能,所以您留有JavaScript库来填补空白。其中包括性能下降(即使仅适用于需要使用它们的浏览器),因此在使用它们时请注意用户。
为了缓解缺少功能支持的问题,如果您确定这些新功能值得使用,请使用以下资源:
.htc
文件),使Internet Explorer 6-8能够呈现几种最有用的CSS3装饰功能。当应用于一个元件,它允许IE识别和显示border-radius
,box-shadow
,border-image
,多个背景图像,并linear-gradient
作为背景图像。true
如果支持(false
如果不支持),还将创建一个自命名的全局JavaScript对象,该对象包含每个功能的布尔属性。增加了对造型和打印HTML5元素,所以你可以使用的元素,如支持<section>
,<header>
和<nav>
。src
的<img />
元素或background-image
属性。不同于AlphaImageLoader
,background-position
并且background-repeat
按预期工作,并且元素将响应a:hover
伪类。.htc
文件),向IE 6添加具有Alpha透明度的PNG支持。完全CSS背景定位和重复(包括CSS Sprites)与其他(包括)JavaScript一起支持。.htc
文件),自动补丁:悬停:活跃:集中在IE6,IE7和IE8怪癖,让你使用它们,就像您在任何其他浏览器。包括AJAX的支持,这意味着该得到任何HTML通过JavaScript插入到文档中也将触发:hover
,:active
和:focus
风格在IE中。有趣的是,DD_belatedPNG通过纯JavaScript解决了Whatever:hover和TwinHelix的IE PNG Fix解决的两个问题,而Whatever:hover和TwinHelix的IE PNG Fix结合使用了JavaScript和IE附加行为(.htc files
)。
通常,使用非IE浏览器的人会在要求时对其进行升级,因此IE首当其冲的是“但某些浏览器不支持此功能!”。投诉。Modernizr将为您可能会看到的任何浏览器(不仅仅是IE)增加使用HTML5 / CSS3的功能。ie-css3.js将做同样的事情,您只需要实现它而无需IE条件注释(这意味着除非您将其与服务器端用户代理检查一起包括在内,否则所有浏览器最终都将获取它-这将大大降低性能适用于您所有的访问者,而不仅仅是您的IE用户。)
其他一些有用的链接,在决定您可能要使用的CSS3功能时:http : //caniuse.com/(很好地细分了哪些元素和选择器可在哪些平台上使用)
http://css3please.com/(一个可在页面上进行编辑的游乐场,用于混淆CSS3功能,这也为一些常用样式的平台(例如圆角,渐变背景,等等。)
如果您要使用HTML5启动新项目,而旧版本的浏览器也应支持HTML5,那么最好的选择是使用Initializr-
它在后端使用HTML5 Boilerplate,并添加了一些单独的选项来为您提供一个模板,您可以将该模板部署在自己的站点上。它包括Javascript库(例如HTML Shiv或Modernizr),可使您的网站与旧版浏览器兼容。