适当的CSS语法,用于为多个类的伪类分配样式属性&#39 ;?

时间:2015-04-25 23:54:25

标签: css css-selectors placeholder pseudo-class

我正在尝试为多类输入设置$(".btn btn-success last").click(function(){ $.post("go2.php", { name: "Donald Duck", city: "Duckburg" }, function(data, status){ alert("Data: " + data + "\nStatus: " + status); }); }); 伪类的 <?php include 'connection.php'; $x = $_POST["name"]; $sql = "INSERT INTO users (Username) VALUES ('$x') "; $query = mysql_query($sql); ?> (font-color)属性。

(所以我希望类.red-va或.blue-va的所有输入都有给定颜色的占位符文本)

我可以(并且已经)完成这个:

color

每个输入类基本上有两组CSS,浏览器支持需要四种不同的方法。

有更优雅/简化的方法吗?

1 个答案:

答案 0 :(得分:4)

不幸的是,如果不使用预处理器(因为这是CSS),您可以做的最好的事情是为.red-va.blue-va分组每组供应商前缀,但不是全部到一个规则集:

.red-va::-webkit-input-placeholder, .blue-va::-webkit-input-placeholder {
   color: white;
}

.red-va:-moz-placeholder, .blue-va:-moz-placeholder {   /* Firefox 18- */
   color: white;
}

.red-va::-moz-placeholder, .blue-va::-moz-placeholder { /* Firefox 19+ */
    color: white;
}

.red-va:-ms-input-placeholder, .blue-va:-ms-input-placeholder {
    color: white; 
}

或者,如果您能够更改标记,则可以通过向.red-va.blue-va添加公共课程来进一步提升,这样您就不必为两者复制选择器 - 实际上将当前的CSS减半。

您可以将它们全部归为一个规则集的原因涵盖here。简而言之,因为浏览器需要删除整个规则集,如果他们不识别选择器列表的任何部分,这将由供应商前缀引起(在Firefox的情况下,也是由事实上,19岁以上的版本不会识别伪元素语法。

值得庆幸的是,prefixed pseudos很快就会成为过去。