HTML标签中的条件格式

时间:2009-02-02 07:21:09

标签: html

在HTML标签中使用IF-ELSE调节是否有任何选择

 <if true>  do something   </if>  
 <else>     do something   </else>

7 个答案:

答案 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选项供您考虑。