在HTML标签中使用IF-ELSE调节是否有任何选择
<if true> do something </if>
<else> do something </else>
答案 0 :(得分:13)
有,但really only used in IE区分不同的版本:
<!--[if IE6]>
Things here!
<![endif]-->
答案 1 :(得分:8)
不要迂腐,但HTML是一种标记语言,对条件逻辑没用。
话虽如此,听起来你正在寻找的是一些javascript。如果您可以在问题中添加更多细节,我可以详细说明如何使用javascript来执行条件逻辑任务。
答案 2 :(得分:5)
HTML是为文档布局而设计的,因此noscript和noframe几乎与HTML处理条件一样接近。你可以想象用javascript来解决这个问题。
<div id='if-part' style='visibility: hidden;'>do something</div>
<div id='else-part' style='visibility: hidden'>do something</div>
<script>
var node;
if(true) {
node = document.getElementById('if-part');
}
else {
node = document.getElementById('else-part');
}
node.style.visibility = 'visible';
</script>
当然这仅在客户端启用了javascript时才有效。
答案 3 :(得分:4)
HTML的条件呈现不是一个新概念,但不能仅使用HTML来完成。您需要使用客户端脚本或服务器端代码来提供相应地呈现HTML的条件逻辑。
答案 4 :(得分:3)
你有没有人编写过电子邮件?你的所有java脚本都被google剥离了。此外,Android上的gmail不支持媒体查询,不同版本的Outlook也有自己的怪癖。如果您想要在各种电子邮件客户端上呈现良好的电子邮件,您别无选择,只能使用条件HTML。
这很像第二个例子:
<!--[if gte mso 9]>
<style type="text/css">
/* Your Outlook-specific CSS goes here. */
</style>
<![endif]-->
但是,如果您没有通过电子邮件客户端,我必须与其他人一致,并说您应该使用Java Script。
答案 5 :(得分:2)
正如其他帖子所述,HTML不支持条件逻辑。你有两个选择:
1)使用PHP或XSLT等技术动态生成HTML
2)使用Javascript
后修改HTML DOM答案 6 :(得分:0)
在确认了凯文·洛尼(Kevin Loney)和他的javaScript解决方案之后,我们还应该考虑CSS条件。如果条件基于浏览器感知/响应设计,则可以绕过javaScripting:
<div class='if-part'>show something</div>
<div class='else-part'>show something</div>
从某种意义上说,“显示某些东西”只会隐藏不适用的条件。在下面的示例中,“ if-part”仅在移动设备上显示。 “其他部分”显示在较大的屏幕上。
@media screen and (max-width:767px){
.if-part{display:initial;}
.else-part{display:none}
}
@media screen and (min-width:768px){
.if-part{display:none;}
.else-part{display:initial}
}
This answer提供了更多CSS选项供您考虑。