【问题标题】:why jGrowl popup doesnt look as expected?为什么 jGrowl 弹出窗口看起来不像预期的那样?
【发布时间】:2012-09-06 00:34:15
【问题描述】:

我在我的网站上收到了这个 jGrowl 通知,当通知框弹出的 jGrowl 弹出窗口看起来样式不好时。

这就是我调用 jgrowl 文件的方式

<link rel="stylesheet" type="text/css" href="./include/jgrowl/jquery.jgrowl.css" />

这是通知框

alt text http://hinuts.com/jgrowl.look.png

【问题讨论】:

  • 对不起,我是这样称呼 jgrowl 文件的
  • 你是否有机会使用 blueprint.css?
  • 不,只是简单的 jgrowl... 我检查了文件和路径,甚至重新下载了 3 次文件,结果仍然相同
  • 我遇到了同样的问题。我是这样使用 jquery-ui 的。我在另一个 SO 答案中找到了解决方案:stackoverflow.com/questions/3347413/…

标签: jquery jquery-ui jgrowl


【解决方案1】:

如果您在与 jGrowl 相同的页面上引用 jQuery UI 的样式表,jGrowl 容器的样式将受到影响。 As of jGrowl version 1.2.2 所有的 jGrowl 容器都用 CSS 类“ui-state-highlight”装饰,它为样式定义添加了背景、边框和字体颜色。

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    background:url("images/ui-bg_glass_55_fbf9ee_1x400.png") repeat-x scroll 50% 50% #FBF9EE;
    border:1px solid #FCEFA1;
    color:#363636;
}

为了防止这种行为,您可以在 jquery.jgrowl.css 文件中添加以下内容:

div.jGrowl > .ui-state-highlight {
    background: inherit;
    color: inherit;
    border: inherit;
}

【讨论】:

  • 谢谢,内森。您的回答帮助我理解了我在 CSS 世界中迷失的其他方面.. :)
  • 内森,你摇滚。我尝试了各种方法来驯服、规避或删除 ui-class。你的回答是我的救命稻草。我非常感谢您的可靠解决方案!
【解决方案2】:

在 Firebug 或您的 CSS 文件中,添加 !important 声明(例如 background-color: red !important; )并查看您的样式是否应用正确。如果是这样,您的规则将被带有 higher specificity 的规则覆盖(或在您的规则之后应用的具有相同特异性的规则)。

编辑:我创建了一个 jGrowl 测试页面,它的通知显示正确。尝试在您的脑海中注释掉任何其他样式表,看看问题是否仍然存在。此外,请确保文件位于指定的目录中。 (./ 是多余的,不需要:. 表示当前目录,因此引用./folder/test.js 与仅folder/test.js 相同)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>  

    <link rel="stylesheet" href="jquery.jgrowl.css" type="text/css" />
    <link rel="stylesheet" href="examples/css/redmond/jquery-ui-1.7.2.custom.css" type="text/css" />

    <script type="text/javascript" src="jquery-1.3.2.js"></script>
    <script type="text/javascript" src="examples/jquery.ui.all.js"></script>
    <script type="text/javascript" src="jquery.jgrowl.js"></script>

    <script type="text/javascript">
    $(document).ready(function() {
        $.jGrowl( "jGowl test", { sticky: true } );
    });
    </script>

</head>
<body>
</body>
</html>

【讨论】:

  • 我试过用红色覆盖它,但标题和消息类仍然是不同的颜色hinuts.com/sd.PNG检查镜头
  • 看看我对上述帖子的补充。
【解决方案3】:

使用 firebug 检查应用于弹出框的 css。可能某些 css 被您自己编写的 css 覆盖了。

【讨论】:

  • 它已应用。但仍然无法弄清楚为什么它的样式不符合预期!
【解决方案4】:

我认为 jquery-ui-1.7.2.custom.css 正在向您的 jgrowl 通知对象添加样式类。我不擅长调试 css,所以我还没有弄清楚如何修复它。尝试注释掉 jquery-ui-1.7.2.custom.css 链接,看看这是否会使您的 jgrowl 通知看起来像您期望的那样。

【讨论】:

  • 好的,我想我已经弄清楚了。进入 jquery.jgrowl.js。寻找 ui-state-highlight。它是通知上设置的类之一。我相信这是为了“主题滚动”。如果您只想破解 jquery.jgrowl.js 文件,则删除 ui-state-highlight 类,jgrowl 通知现在将具有您所期望的黑色背景。
  • 它甚至不包括在内,这是我当前的 jgrowl 通知hinuts.com/sd.PNG
  • 看起来越来越近了。尝试在 jquery.jgrowl.js 中查找 ui-state-highlight 的所有实例。尝试将它们全部删除。
猜你喜欢
  • 2020-06-03
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
  • 2013-06-09
  • 1970-01-01
  • 2022-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多