在HTML标签中是否有使用IF-ELSE条件语句的选项
<if true> do something </if>
<else> do something </else>
在HTML标签中是否有使用IF-ELSE条件语句的选项
<if true> do something </if>
<else> do something </else>
不是要挑剔,但HTML只是一种标记语言,不能用于条件逻辑。
话虽如此,看起来你需要一些JavaScript。如果您能提供更多细节,我可以详细介绍如何使用JavaScript执行带有条件逻辑的任务。
HTML最初是为文档布局而设计的,因此noscript和noframes是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>
HTML的条件渲染并不是一个新概念,但它不能仅使用HTML来完成。您需要使用客户端脚本或服务器端代码来提供条件逻辑,以便根据情况呈现您的HTML。
你们有没有编写过电子邮件?所有的JavaScript代码都会被Google删除。此外,Android上的Gmail不支持媒体查询,而不同版本的Outlook也有自己的怪癖。如果您想要在各种电子邮件客户端上呈现良好的电子邮件,则只能使用条件HTML。
这很像第二个例子:
<!--[if gte mso 9]>
<style type="text/css">
/* Your Outlook-specific CSS goes here. */
</style>
<![endif]-->
然而,如果您没有使用电子邮件客户端,我必须同意其他人的看法,并建议您使用JavaScript。
正如其他文章中所提到的,HTML不支持条件逻辑。你有两个选择:
1) 使用PHP或XSLT等技术动态生成HTML
2) 之后使用JavaScript修改HTML DOM
在感谢Kevin Loney及其JavaScript解决方案的基础上,我们还应考虑CSS条件语句。如果条件是基于浏览器检测/响应式设计,则可以绕过JavaScript:
原始答案: "最初的回答"
<div class='if-part'>show something</div>
<div class='else-part'>show something</div>
“Show something”指的是您仅需隐藏不适用的条件。在下面的示例中,“if-part”仅在移动设备上显示。“else-part”则在较大的屏幕上显示。
原始回答: Original Answer
@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}
}
这个回答提供了更多需要考虑的CSS选项。
注:Original Answer翻译成"最初的回答"
***Syntax***
{% 如果 condition1 %} 代码行
{% 或者 condition2 %} 代码行
{% 否则 %} 代码行
{% 结束如果 %}
***Example***
role='经理'
{% if role=='管理员' %} 你好,管理员
{% elif role=='经理' %} 你好,经理
{% else %} 您是普通用户
{% endif %}