14

如何更改 jQuery 对话框标题栏的背景颜色?

我看过themeroller,但它似乎对我不起作用。

谢谢

4

6 回答 6

13

您可以通过修改 ui-dialog-titlebar CSS 类来更改它,但我强烈建议您使用ThemeRoller 工具

也可以看看:

于 2009-03-31T18:55:23.573 回答
12

我这样做(为标题添加“ui-state-error”样式):

<script type="text/javascript">
            $(function () {
                $("#msg").dialog({
                    open: function () {
                        $(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar").addClass("ui-state-error");
                    }

                });

            });
        </script>  
于 2009-12-02T14:17:29.483 回答
3

对话框中的每个元素都有相关的类。

使用 Firebug 检查元素并使用 CSS 设置样式。例如,标题栏具有类“ui-dialog-titlebar”。

(这假设您使用的是 jQuery UI 对话框)

于 2009-03-31T18:54:23.797 回答
2

使用该dialogClass物业。您可以应用于 jquery 对话框中的任何 css。下面我们正在格式化标题和内容块。

<head>
<style>
.main-dialog-class .ui-widget-header{background: url("/Images/your-background.png") repeat-x scroll 34px 42px #a4cf50;font-size:16px;border:0;text-transform:uppercase}
.main-dialog-class .ui-widget-content{background-image:none;background-color:#fff}
</style>
<script>
        $('#jq_dialog').dialog({
            title: 'Detalhes do produto',
            modal: true,
            resizable: false,
            width: 500,
            maxHeight: 400,
            closeText: 'fechar',
            draggable: true,
            show: 'fade',
            hide: 'fade',
            dialogClass: 'main-dialog-class'
        });
</script>
</head>
<body>
<div id="jq_dialog">Hello StackOverflow!</div>
</body>
于 2012-08-16T13:16:44.383 回答
1

前面的示例运行良好,但错误主题只有红色。

这是一个简单的解决方案,只需更改 css 中的标题图像:

CSS:

.ui-widget-header-custom{ 
    background: #f6a828 url(../images/ui-bg_flat_95_0a43ac_40x100.png) 50% 50% repeat-x;      
}

javascript:

$('#my_dialog').dialog({ 
    open: function(event, ui){ 
        $(this).parents(".ui-dialog:first").find(".ui-widget-header")
            .removeClass("ui-widget-header").addClass("ui-widget-header-custom");
    }
});

请注意,与前面的示例相反,我删除了:

removeClass("ui-widget-header")

而不仅仅是在以下位置添加类:

find(".ui-dialog-titlebar")

必须注意,此示例适用于没有链接的对话框标题。

于 2011-07-14T18:39:05.367 回答
0

有时您无法编辑 css 文件。所以你可以试试这个:

dialog = $('<div/>').dialog({
  title: 'Dialog with css for title bar',
  open: function() {
    $(this).parents(".ui-dialog:first").find('.ui-dialog-titlebar').css('background-color','#275D9E');
  } 
});
于 2014-04-07T09:56:33.043 回答