2015-10-15 83 views
4

我通常看到的HTML data-attribute(S)添加特定的值/參數的HTML使用它們「鏈接」按鈕,模態對話框像引導件簡單的「自定義屬性」被打開等HTML「數據屬性」與

<button type="button" class="close" data-dismiss="modal" aria-label="Close"> 

現在,我看到幾乎有名的CSS框架,Kube,在其新版本中廣泛使用簡單的自定義屬性如在以下幾點:

<column cols="4">4</column> 

<span class="label label-black" outline bold>Black</span> 

其他動作示例可見,例如,here

我不知道這是可以使用簡單的自定義屬性,所以我試圖尋找一些有關此來源,我發現只有this old similar question在其中幾乎只有(可能)兼容性問題指出。

我很驚訝,像庫貝一個CSS框架可以使用類似的解決方案,如果瀏覽器支持,可以如此「脆弱」 ......

所以我的問題是:

  1. (=交叉兼容)是Kube的方法嗎?
  2. 如果我只需要傳遞true/false值,我可以用簡單的自定義安全地替換data-attribute嗎?

這最後一個問題是更好地爲例進行了說明,所以用<span class="foo" boo>Black</span>

+0

我對這個框架並不熟悉,但是在他們的網站上很快就會發現他們使用了古老的'class'。你能指出一個這樣的用法的例子嗎? –

+0

我編輯我的問題,並鏈接到特定的文檔頁面,您可以在其中找到應用示例 –

回答

5

使用數據屬性替換<span class="foo" data-boo='true'>Black</span>。它們是:

  • 標準
  • 不會讓一個驗證扼流圈
  • 不會與可能被添加到標準在未來

屬性相沖突......而你不知道如果你只是想檢查它們是否存在於CSS屬性選擇器中,則必須給它們賦值......但是如果你想要的話,那麼你應該使用額外的類來代替它。

+0

您是否認爲您認爲Kube的開發人員選擇了一個「危險」地形移動? –

+0

是的。自定義屬性很糟糕。它們只是具有更多風險的數據屬性,這使得進行基本的自動化QA測試變得更加困難。 – Quentin