1

.css()またはのいずれかでスタイルを適用するGreasemonkeyスクリプトがありますGM_addStyle()。これらのスタイルは、ページにあるスタイルによって上書きされ、望ましくない効果を引き起こしています。

私は自分のすべてのスタイルでこれを使用することでこれを修正できることを知ってい!importantますが、私は本当にこれをしたくありません。を使用せずにこれを行う方法はあります!importantか?

4

1 に答える 1

0

!importantGreasemonkey スクリプトとスタイリッシュなスタイルでの使用に問題はありません。(通常の Web ページでは誤用されることがありますが、userscript は異なります)。

!important属性で設定されたスタイルをオーバーライドする唯一の方法です。たとえば、これを変更したい場合:

<div id="annoyingBlock" style="background: red; top: 4em; display: inline block ... Bunch of other styles that we don't want to touch.">
    Look at me!
</div>

背景を白にするには、ユーザー スクリプトでその属性を上書きするかstyle(大規模で複雑なサイトでは厄介な問題であり、まだ必要な他のインライン スタイルを台無しにする可能性があります) !important、次のようにフラグを使用する必要があります。

GM_addStyle ( "                                 \
    #annoyingBlock {                            \
        background:         white !important;   \
    }                                           \
" );


これは、属性 (インライン スタイル)がスタイル以外よりも優先!importantされるためです。



使用するスタイルの変更がページの JavaScript によって上書きされる場合は、この回答.css()のような手法を使用して対処してください。

于 2013-02-26T00:51:08.617 に答える