0

我有这个对话框:

var dialog1 = $('<div>').dialog({ 
    autoOpen: false, 
    modal: true,
    closeText: null,
    hide: "scale",
    show:"fade",
    height: 'auto',
    width: 450,
    dialogClass:"edialog"
}); 

当我想自定义样式时,内联样式会覆盖我的样式:

压倒一切的

如何在不使用!important或编辑生成的内联样式的情况下强制对话框使用我的样式?

4

2 回答 2

2

你没有。内联比选择器链具有最高优先级。据我所知,覆盖它的唯一方法是修改元素的 DOM 或使用!important.

我想说,如果他们遇到了定义内联样式的麻烦,那是有充分理由的,可能不应该修改。


!important以下是使用jQuery 和更改内联样式的区别:

jQuery: $(".ui-dialog").css({ "position" : "fixed", "top" : "50%" });

CSS: .ui-dialog { position: fixed !important; top: 50% !important; }

对话框选项(Barmar 的评论):

$(".my-form").dialog({ position: { my: "top", at: "top" } });

这取决于您的感受和想要管理源代码的方式。如果您不能通过 Dialog 对象公开的属性来实现,那么 CSS 对我来说似乎是一个更简单、更优雅的解决方案。

于 2013-08-15T02:59:11.307 回答
0
  1. 您在 CSS 中找到自定义对话框
  2. 例如,如果要编辑对话框的宽度,只需在宽度后添加“!important”:

    .ui-dialog { 位置:相对;填充:.2em;宽度:500 像素!重要;}

于 2016-02-15T04:24:09.730 回答