为什么我的CSS规则会无意中改变多个事物?

时间:2015-03-16 12:52:40

标签: css wordpress

试图改变"订阅"的颜色。按钮我通过编辑CSS插件添加了下面的CSS。

#mc_embed_signup .button {
  background-color: gray;
  color: white;
}

这段代码实现了它的预期目的,但也改变了我网站上的许多其他内容,包括但不限于:页眉,页脚,H1文本,H2文本等。

为什么这段代码会造成如此严重的破坏?

2 个答案:

答案 0 :(得分:2)

CSS的这一部分可能不会搞砸你网站的其他部分。

您的#mc_embed_signup .button {}选择器没问题。 #mc_embed_signup是包装MailChimp注册表单的div元素的id,.button是按钮的类,而您的选择器意味着“将以下样式应用于任何类的button在ID为mc_embed_signup的元素内。“

由于该表单中只有一个按钮,并且它有自己的id,因此您也可以通过编写#mc-embedded-subscribe {}来完成相同的操作。

在任何情况下,你的CSS中可能是另一个错误导致你网站的其他部分样式变得混乱。仔细查看任何未闭合的花括号或缺少分号。

答案 1 :(得分:0)

我还建议您尝试更多地制定您的命名约定并考虑工作流程。不得不依靠一个ID来模拟一个类似含糊不清的类.button是一种糟糕的工作方式,因为你以后可能会想要设置样式.button做其他事情并且无意中将其打破了网站的其余部分。如果您需要为.button添加样式但是它需要特定于该页面,那么您最好的选择是添加另一个类,该类更具体地用于按钮所做的事情,即.subscribe-button然后改为样式。

尝试尽可能多地使用带有ID的样式,因为它在以后的编辑时非常宽容。

P.S。你解决了问题吗?