簡體   English   中英

HTML標簽中的條件格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM