我正在尝试将jquery ui对话框的默认样式更改为类似于此的内容 -
我让它关闭更改jquery ui中的一些CSS ..
.ui-widget {
font-family: Verdana,Arial,sans-serif;
font-size: .8em;
}
.ui-widget-content {
background: #F9F9F9;
border: 1px solid #90d93f;
color: #222222;
}
.ui-dialog {
left: 0;
outline: 0 none;
padding: 0 !important;
position: absolute;
top: 0;
}
#success {
padding: 0;
margin: 0;
}
.ui-dialog .ui-dialog-content {
background: none repeat scroll 0 0 transparent;
border: 0 none;
overflow: auto;
position: relative;
padding: 0 !important;
}
.ui-widget-header {
background: #b0de78;
border: 0;
color: #fff;
font-weight: normal;
}
.ui-dialog .ui-dialog-titlebar {
padding: 0.1em .5em;
position: relative;
font-size: 1em;
}
HTML:
<div id="popup-msg">
<div id="loading">
<h2>Loading...</h2>
<h3>Please wait a few seconds.</h3>
</div>
<div id="success" title="Hurray,">
<p>User table is updated.</p>
</div>
</div>
但是当我添加这个样式时,它适用于我的所有对话框。任何人都可以告诉我如何避免这个问题。
谢谢。
答案 0 :(得分:60)
请参阅http://jsfiddle.net/qP8DY/24/
您可以通过添加到dialogClass选项,直接在HTML中或在JavaScript中添加一个类(例如&#34;成功对话框&#34;在我的示例中)成为div#success,因为我&# 39;已完成。
$('#success').dialog({
height: 50,
width: 350,
modal: true,
resizable: true,
dialogClass: 'no-close success-dialog'
});
然后根据需要将成功对话框类添加到CSS规则中。要指示应用了两个(或更多)类的元素,只需将它们全部写在一起,中间不能有空格。例如:
.ui-dialog.success-dialog {
font-family: Verdana,Arial,sans-serif;
font-size: .8em;
}
答案 1 :(得分:17)
您可以通过选项dialogClass
$("#success").dialog({
...
dialogClass:"myClass",
...
});
然后,您可以通过.myClass.ui-dialog
在CSS中定位此类。
答案 2 :(得分:4)
该解决方案仅解决部分问题,它可以让您设置容器和内容的样式,但不允许您更改标题栏。我开发了一种解决方法,但是在对话框div中添加了一个id,然后使用jQuery .prev来改变div的样式,这就是对话框div的前一个兄弟。这是有效的,因为当jQueryUI创建对话框时,你的原始div成为新容器的兄弟,但是标题div是你原来div的前一个兄弟,但是容器而不是title div都有一个id来简化选择div
HTML
<button id="dialog1" class="btn btn-danger">Warning</button>
<div title="Nothing here, really" id="nonmodal1">
Nothing here
</div>
您可以使用CSS来设置对话框主要部分的样式,但不能使用标题
.custom-ui-widget-header-warning {
background: #EBCCCC;
font-size: 1em;
}
你需要一些JS来标题标题
$(function() {
$("#nonmodal1").dialog({
minWidth: 400,
minHeight: 'auto',
autoOpen: false,
dialogClass: 'custom-ui-widget-header-warning',
position: {
my: 'center',
at: 'left'
}
});
$("#dialog1").click(function() {
if ($("#nonmodal1").dialog("isOpen") === true) {
$("#nonmodal1").dialog("close");
} else {
$("#nonmodal1").dialog("open").prev().css('background','#D9534F');
}
});
});
该示例仅显示简单样式(背景),但您可以根据需要将其设置为复杂。
你可以在这里看到它: