我对Web开发和学习始终都比较陌生。我最近在查看不同网站的源代码时遇到了“条件评论”。我想我现在明白他们做了什么,但我不确定何时使用它们。在HTML中使用条件注释
我看到他们主要用于实现不同的样式表,当涉及到IE浏览器,并想知道这是否是好的做法?
在这种情况下,如果答案是'是'。然后,在开发一个站点时,使用两个独立的样式表来修复错误是“常见的地方”,例如为IE创建一个样式表,以及为Firefox,Opera等创建一个样式表?
在此先感谢。
我对Web开发和学习始终都比较陌生。我最近在查看不同网站的源代码时遇到了“条件评论”。我想我现在明白他们做了什么,但我不确定何时使用它们。在HTML中使用条件注释
我看到他们主要用于实现不同的样式表,当涉及到IE浏览器,并想知道这是否是好的做法?
在这种情况下,如果答案是'是'。然后,在开发一个站点时,使用两个独立的样式表来修复错误是“常见的地方”,例如为IE创建一个样式表,以及为Firefox,Opera等创建一个样式表?
在此先感谢。
只有IE支持条件注释,据我所知,他们在不支持它们的浏览器中正常降级(因为它们看起来像普通注释)。普遍的共识是,如果您使用非标准浏览器功能来对付另一种非标准浏览器“功能”(即对IE中CSS的蹩脚支持),则可以使用非标准浏览器功能。所以你会发现这是一个调整CSS的非常常见的解决方案。
有些人还使用评论来帮助描述页面的某些区域,如页脚,标题或主要内容(通常在模板中)。
但是,如果您使用div和CSS(它听起来像您),您应该能够通过DIV ID和CSS样式告诉您内容是什么或HTML的哪个区域。请记住使用明确的名称,并尽量不要为了简化输入而缩写它们。
如果这对你来说是一个问题,那么Intellisense是一件很棒的事情,可以帮助我们解决这个问题。如果没有,那么CTRL + C和CTRL + V可能是下一个最好的东西:)
我已经使用条件注释来检测访问者是否使用IE6或更低版本。如果是这种情况,我加载IE7.js script,它克服了这些旧浏览器中的一些错误。还有一个模拟IE8支持的脚本。
Internet Explorer(版本6 especially)的性质使得一些样式表在IE中可以很好地工作,有些样式表不会。对于那些不这样做的用户,您可以使用条件注释来使CSS代码仅显示在IE中。我必须使用它,因为Internet Explorer(mis)处理CSS下拉菜单的方式。
为了使我正在处理的网站正确渲染下拉菜单的hover
功能,我必须实现crosshover.htc文件。下面是我使用的代码:
<!--[if IE]>
<style type="text/css" media="screen">
#menu ul li {float: left; width: 100%;}
</style>
<![endif]-->
<!--[if lt IE 7]>
<style type="text/css" media="screen">
body {
behavior: url(http://www.stannscatholicschool.com/csshover.htc);
font-size: 100%;
}
#menu ul li {float: left; width: 100%;}
#menu ul li a {height: 1%;}
#menu a, #menu h2 {
font: 100% verdana, tahoma, helvetica, arial, sans-serif;
}
</style>
<![endif]-->
如果我不这样做,在下拉菜单中分裂开来,不能在Internet Explorer中导航6.
谢谢Gortok。如果我在哪里添加一个
感谢您的输入约翰。我已经在我的代码中使用了注释来区分特定的部分。然而,对于这个问题,我更关注使用条件注释来指导某些事情。对不起,如果我没有在原来的问题中说清楚。 – Ronnie 2009-01-05 22:44:43
嗯,是的“有条件”这个词确实给了它不是:) – 2009-01-05 22:55:21