jQuery UI 对话框单独的 CSS 样式 [英] jQuery UI Dialog individual CSS styling

查看:21
本文介绍了jQuery UI 对话框单独的 CSS 样式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望使用与传统对话框分开的独特 CSS 来设计模式对话框的样式(使用 UI 对话框),因此本质上有两个看起来各不相同的 jQuery 对话框.

例如,我设计了一个样式

和另一个

<div id="dialog_style2" class="dialog2 hidden">其他内容</div>

不幸的是,我注意到使用单独的 CSS 来设置对话框的各个部分的样式,例如

.dialog1 .ui-dialog-titlebar { display:none;}.dialog2 .ui-dialog-titlebar { 颜色:#aaa;}

不起作用,因为 .ui-dialog-titlebar 没有 .dialog1 类,而且我不能做 addClass> 要么不闯入插件.

另一种方法是让像 body 这样的元素有一个唯一的类/id(取决于我想要的那个),但这会阻止在同一页面中拥有两个对话框.

我该怎么做?

解决方案

Ajax:

 $(".ui-dialog-titlebar").hide();$(".ui-dialog").addClass("customclass");

这仅适用于打开的对话框,因此可以针对每个使用的对话框进行更改.

(此快速回答基于 StackOverflow 上的另一个回复.)

I'm looking to style a modal dialog (using UI Dialog) with unique CSS that is separate from the traditional dialog, so in essence to have two jQuery dialogs that each look different.

I've styled one, for example,

<div id="dialog_style1" class="dialog1 hidden">One content</div>

and another

<div id="dialog_style2" class="dialog2 hidden">Another content</div>

Unfortunately I've noticed that using separate CSS to style parts of the dialog box, like

.dialog1 .ui-dialog-titlebar { display:none; }
.dialog2 .ui-dialog-titlebar { color:#aaa; }

doesn't work because .ui-dialog-titlebar does not have the class .dialog1, and I can't do an addClass either without breaking into the plugin.

An alternative would be to have an element like body have a unique class/id (depending on which one I want), but that would preclude having both dialogs in the same page.

How can I do this?

解决方案

Run the following immediately after the dialog is called in the Ajax:

    $(".ui-dialog-titlebar").hide();
    $(".ui-dialog").addClass("customclass");

This applies just to the dialog that is opened, so it can be changed for each one used.

(This quick answer is based on another response on Stack Overflow.)

这篇关于jQuery UI 对话框单独的 CSS 样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆