【发布时间】:2017-07-26 18:38:14
【问题描述】:
我正在使用 jQuery-UI v1.12.1 (jQuery 2.1.3) 来动态创建带有 HTML 内容的工具提示。虽然我可以使用 CSS 样式表完成大部分 HTML 样式,但由于某种原因,我无法在不使用 !important 的情况下更改不同类的字体颜色。
如果这有一个简单的答案:有一个明显的原因为什么我可以改变几乎所有的东西(例如背景、字体大小、重量等),除了使用 CSS“颜色”的字体颜色财产?
我的代码嵌入在许多其他代码中,我无法在此处发布,也不知道从哪里开始创建具有相同问题的玩具箱。我所知道的最好的就是记录一下我的工具提示管理的基本结构。我有一个定义了许多类的 CSS 样式表,其中许多具有重叠的属性。在我的 javascript 中,我注入 jQuery-UI 和 jQuery,并使用以下内容根据某些分隔符的属性和类名的状态创建工具提示:
$(function () {
$(document).tooltip({
content: function () {
var html = do some stuff to determine html;
return html;
},
classes: {'ui-tooltip': 'tooltip'}
})
});
每个具有“工具提示”类的分隔符都会获得一个工具提示。此外,该分隔符中的 HTML 可能具有与特定跨度、div 等相关联的多个其他类。所有 CSS 都在单个样式表中定义。我没有使用 jQuery-UI css。
我可以让颜色起作用的唯一方法是使用 !important,我读过这是不好的做法。否则,字体颜色始终为灰色。
谢谢!
【问题讨论】:
-
为什么不用
div或span来包装您的内容,让您可以通过CSS 更好地管理它? -
感谢您的评论@Twisty。一切都在 div 中,并带有自己的类名。我想我遇到了某种优先级问题,但我无法找到它。我很奇怪只有颜色属性需要一个 !important 才能工作。
-
你能做一个 jsfiddle.net 的例子来复制这个吗?
-
我可以尝试,但我的猜测是,如果我真的可以复制它,我就会找到问题的根源,这既是答案的明显方式,也是我拥有的全部原因一个问题(因为很难在我的代码中追踪,并且很难重现足够多的代码来解决问题)。
标签: jquery html css jquery-ui colors