我正在使用开箱即用的jQuery UI库,基于一个主题。
将链接呈现为按钮很棒,但是我需要覆盖一些具有不同颜色的按钮。
如何为要使用的特定按钮指定特定类?
我建议查看 jQuery UI 按钮的 CSS 并复制指定按钮的 CSS 结构,但使用您自己的类而不是 jQuery UI 类。在此 CSS 中进行您需要的覆盖并将其包含在 jQuery UI CSS 之后。CSS 使用最具体的选择器和排序的组合来确定要应用的值。通过这样做,您将确保 jQuery 使用的每个 CSS 选择器具有相同的特异性,以便您的 CSS 根据顺序优先。
Smashing Magazine 有一篇文章可能比您想知道的有关特异性问题的信息更多。
你也可以:
例如,当我需要覆盖 jQuery UI 微调器控件并删除边框时,我找到了使用 Chrome 开发工具定义边框的类。然后在 CSS 中:我添加了类似的内容:
.<jquery-ui-class-that-i-found> { border: 0px !important; }
效果很好!
我会说,给特定的按钮一个或多个按钮一个 id,并且:
$("#buttonId").removeClass().addClass("myClass");
如果要将其应用于多个按钮,每个按钮都有自己的 id:
$("#buttonId, #anotherButton").removeClass().addClass("myClass");
我认为按钮 API 应该包括这样的配置,您可以在其中通过传递参数来更改颜色等
$("button").button({background:"FFFFFF",hover:"FFFFF"});
这只是一个想法,您可以在其中更改其某些视觉属性。
我发现这对我有用: $(".btnSave").removeClass("ui-state-default").addClass("SaveButtonStyling");
基本上需要删除 ui-state-default 类,然后添加我自己的背景颜色等。
这意味着圆角类等保持不变,我可以修改背景颜色等。
如果您只是希望为特定按钮添加一些附加/不同,只需为按钮提供一些类,例如 class="mybuttonclass otherbuttonclass" - 允许多个类。然后,只需为您的课程添加 css 规则
.mybuttonclass
{
background-color: red;
}
.otherbuttonclass
{
color:white;
}
因此背景是红色的,带有白色文本 - 或您希望的任何组合,这将覆盖其上方的级联 (CSS) 中的项目。(假设您的 .CSS 文件在 jquery UI css 文件之后链接,或者在页面上嵌入,这两者都会覆盖 jQuery UI css。