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

あなたはそうしない。Inline は、セレクター チェーンよりも優先度が高くなります。私が知っているそれをオーバーライドする唯一の方法は、要素の DOM を変更するか、 !important.

彼らがスタイルをインラインで定義するという問題を経験したのであれば、それには正当な理由があり、おそらく変更すべきではないと思います。


!importantjQuery でインライン スタイルを使用する場合と変更する場合の違いは次のとおりです。

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; 幅: 500px !重要;}

于 2016-02-15T04:24:09.730 に答える