[英]Conditional Formatting in HTML Tags
有沒有在HTML標簽中使用IF-ELSE調節的選項
<if true> do something </if>
<else> do something </else>
有,但它實際上只用於IE來區分不同的版本:
<!--[if IE6]>
Things here!
<![endif]-->
不是迂腐,但HTML是一種標記語言,對條件邏輯沒用。
話雖這么說,聽起來你正在尋找的是一些javascript。 如果您可以在問題中添加更多細節,我可以詳細說明如何使用javascript來執行條件邏輯任務。
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時才有效。
HTML的條件呈現不是一個新概念,但不能僅使用HTML來完成。 您需要使用客戶端腳本或服務器端代碼來提供相應地呈現HTML的條件邏輯。
你有沒有人編寫過電子郵件? 你的所有java腳本都被google剝離了。 此外,Android上的gmail不支持媒體查詢,不同版本的Outlook也有自己的怪癖。 如果您想要在各種電子郵件客戶端上呈現良好的電子郵件,您別無選擇,只能使用條件HTML。
這很像第二個例子:
<!--[if gte mso 9]>
<style type="text/css">
/* Your Outlook-specific CSS goes here. */
</style>
<![endif]-->
但是,如果您沒有通過電子郵件客戶端,我將不得不同意其他人並說您應該使用Java Script。
正如在其他帖子中所說,HTML不支持條件邏輯。 你有兩個選擇:
1)使用PHP或XSLT等技術動態生成HTML
2)使用Javascript后修改HTML DOM
在確認Kevin Loney及其javaScript解決方案后,我們還應該考慮CSS條件。 如果條件基於瀏覽器感知/響應式設計,則可以繞過javaScripting:
<div class='if-part'>show something</div>
<div class='else-part'>show something</div>
從某種意義上說“顯示某種東西”,你只會隱藏不適用的條件。 在下面的示例中,“if-part”僅顯示在移動設備上。 “else-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}
}
這個答案提供了更多的CSS選項供您考慮。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.