不是带占位符的选择器

not selector with placeholder

我有输入类型,我正在用数据属性区分它:

我希望所有数据类型都隐藏占位符,日期字段除外

我无法使用 :not 选择器。使用 input[type="text"] 的答案将不被接受,因为除了文本和日期之外可能还有 n 种数据类型。

    :not(input[data-type="date"])::-webkit-input-placeholder { /* WebKit browsers */
        color: transparent !important;
    }
     :not(input[data-type="date"]):-moz-placeholder { /* Mozilla Firefox 4 to 18 */
       color: transparent !important;
    }
    :not(input[data-type="date"])::-moz-placeholder { /* Mozilla Firefox 19+ */
       color: transparent !important;
    }
     :not(input[data-type="date"]):-ms-input-placeholder { /* Internet Explorer 10+ */
       color: transparent !important;
    }

    
<input data-type="text" placeholder="Enter date">
<input data-type="date" placeholder="Enter text">

感谢帮助。

给你。不错的解决方案顺便说一下 transparent.

input:not([data-type="date"])::-webkit-input-placeholder { /* WebKit browsers */
  color: transparent !important;
}
input:not([data-type="date"]):-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color: transparent !important;
}
input:not([data-type="date"])::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: transparent !important;
}
input:not([data-type="date"]):-ms-input-placeholder { /* Internet Explorer 10+ */
  color: transparent !important;
}
<input data-type="text" placeholder="Enter date">
<input data-type="date" placeholder="Enter text">