新的HTML5 / CSS3(Web8!)听起来很酷!我应该立即开始使用它还是还是坚持使用CSS / xhtml等到更多浏览器可以使用它?

评论

Web8是什么意思?

html5 + css3 = web8!

HTTP 1.0和ECMAScript 5.0呢?

#1 楼

现在,所有浏览器(甚至是IE5)都支持HTML5!(如果使用html5shiv脚本)。我强烈建议阅读http://diveintohtml5.org。它是目前最好的HTML5资源之一。

对于CSS3,如果要使用它,请确保也使用供应商predix。常规语法。例如,

边界半径

-moz边界半径

-webkit-border-radius

我相信逐步增强。 IE9的css3支持听起来很有希望。

评论


我认为您的意思是将边界半径放在底部,对吗?

–格兰特·佩林
2010年7月10日,0:33

las,原始的Dive Into HTML5网站已消失。有很多可用的镜子。这是一个:diveintohtml5.info

–杜德利先生
2011-10-14 17:49

#2 楼

可能是。

HTML5的某些部分现在可以立即使用。例如表格。如果在不支持HTML5的浏览器中有<input type="email">(是的,甚至是IE6),您将看到与使用<input type="text">相同的内容。但是,在支持HTML5表单元素的浏览器上,您将获得email类型的优点:即,客户端将对值进行错误检查,而无需额外的JS。是的,您仍然需要非HTML5浏览器的JS,但在支持的浏览器中还将有一层验证。

该站点上的另一个问题很好地概述了新功能。通过HTML5和CSS3提供给您。在这个问题上,表单上也有很多很好的数据。

因为Internet Explorer(以及Safari和Firefox的旧版本,尽管它们可能很少见)不支持其中许多功能JavaScript库填补了空白。这些都会影响性能(即使仅适用于需要使用它们的浏览器),因此在使用它们时请注意用户。

要缓解缺少功能支持的问题,应决定要使这些新功能值得使用,请使用以下资源:



html5shiv:IE的JavaScript代码,可以识别和设置HTML5元素的样式。

CSS3 Pie:一个IE附加行为(一个.htc文件),使Internet Explorer 6-8能够呈现一些最有用的CSS3装饰功能。当应用于元素时,它允许IE识别并显示border-radiusbox-shadowborder-image,多个背景图像和linear-gradient作为背景图像。

Modernizr:一个Javascript库,它使用功能检测来针对即将到来的CSS3 / HTML5功能测试当前的浏览器,并为元素添加受支持的类。还创建一个自命名的全局JavaScript对象,该对象包含每个功能的布尔属性,如果支持,则为true,如果不支持,则为false。添加了样式和打印HTML5元素的支持,因此您可以使用<section><header><nav>之类的元素。

ie-css3.js:允许Internet Explorer识别CSS3伪类选择器并呈现任何样式规则与他们定义。根据您的站点使用的JavaScript库,支持不同的CSS3选择器。

DD_belatedPNG:一种Javascript库,它将PNG图像支持添加到IE6。您可以将PNG用作src元素的<img />或CSS中的background-image属性。与AlphaImageLoaderbackground-positionbackground-repeat可以按预期工作的方式不同,元素将响应a:hover伪类。

TwinHelix IE PNG修复:IE附加行为(一个.htc文件),添加了具有Alpha透明度的PNG支持到IE6。完整的CSS背景定位和重复功能(包括CSS精灵)与其他(包含的)JavaScript一起提供支持。

无论:hover:IE附带的行为(一个.htc文件)会自动修补:hover ,:active和:focus用于IE6,IE7和IE8的怪癖,让您像在其他任何浏览器中一样使用它们。包括AJAX支持,这意味着通过javascript插入到文档中的任何html都会触发IE中的:hover:active:focus样式。

有趣的是,DD_belatedPNG解决了Whatever:hover和TwinHelix的IE PNG Fix具有纯JavaScript,而Whatever:hover和TwinHelix的IE PNG Fix则结合使用JavaScript和IE附加行为(.htc files)。

通常,使用非IE浏览器的人会在要求时对其进行升级,因此IE首当其冲的是“但某些浏览器不支持此功能!”。投诉。 Modernizr将为您可能会看到的任何浏览器(不仅仅是IE)增加使用HTML5 / CSS3的功能。 ie-css3.js会做同样的事情,您只需要在没有IE条件注释的情况下实现即可(这意味着除非您将其与服务器端用户代理检查一起包括在内,否则所有浏览器最终都会得到它-这将大大降低性能适用于您所有的访问者,而不仅仅是您的IE用户。)

评论


对不起,布赖森,但为Internet Explorer添加HTML5支持的那些事情实际上是噩梦。

–删除
10年7月16日在7:21

我已经用更多信息更新了我的帖子,并确认使用这些JS库的性能受到了影响。但是,我不同意您使用它们是一场噩梦。我已经至少使用了所有这些一次,并且它们都达到了目的。他们也没有让我头痛。是什么让您说他们是噩梦?

–布赖森
10年7月16日在7:46

好的,“彻底的噩梦”可能是措辞过于严格的方式,但是性能通常会严重受损,以致页面无法使用,因此我认为您过分夸大了。

–删除
10年7月16日在8:34

#3 楼

使用最适合您需求的技术。

Eric Meyer写了一篇不错的文章,介绍了为什么开始在CSS规则上使用供应商特定的前缀并不像过去使用CSS过滤器黑客那样la脚。

我认为同样适用于HTML5。如果您可以检查浏览器对不同功能的支持,为什么不使用它。只要该站点正常降级,就可以进行升级。

#4 楼

其他一些有用的链接,在确定您可能要使用的CSS3功能时:
http://caniuse.com/(对哪些元素和选择器可在哪些平台上使用提供了很好的细分)

http://css3please.com/(一个可在页面上编辑的游乐场,用于混乱CSS3功能,这也为一些常用样式的平台(例如圆角,渐变)所支持的技术和功能提供了一些建议背景等)

#5 楼

我使用它来增强现代浏览器上的体验,以便拥有良好浏览器的用户获得外观更好的UI(圆角,阴影等)“奖励”。我想您不应该用它代替当前的客户端表单验证,除非您为此得到某种JS后备。

#6 楼

如果要使用HTML5开始新项目,而旧版本的浏览器也应支持该项目,则最好的选择是使用Initializr-

http://www.initializr.com/

它在后端使用HTML5 Boilerplate,并添加了一些选项,以提供一个模板,您可以在自己的网站上部署该模板。它包含Javascript库(例如HTML Shiv或Modernizr),可使您的网站与旧版浏览器兼容。

#7 楼

取决于目标受众是什么以及要使用的功能。我希望普通项目可以再过几年才能放弃对ie6的支持:(

#8 楼

如果您的站点是私有Intranet,或者您控制浏览器,或者处理的浏览器范围有限,请随时使用技术的最新优势。

如果没有,那么使用什么,您将始终必须考虑最低公分母。在这种情况下,可能是IE 6和一系列移动浏览器的组合。因此,如果您继续使用HTML 5,则还有一个问题,就是要确保您的网站正常“降级”。

#9 楼

HTML5和CSS3提供了可能的新功能,因此您可以轻松地开发网站。像HTML5一样,引入了许多新标签,例如<video>,<audio>,<header>,<footer>等。CSS3引入了不透明度,盒子阴影,选择器等。CSS3还支持响应式设计,并减少了代码行。为了使网站具有响应性,您可以使用css3 / html5及其提供的更多优势。