首頁  >  文章  >  web前端  >  如何使用 Greasemonkey/Tampermonkey 覆寫類別 CSS?

如何使用 Greasemonkey/Tampermonkey 覆寫類別 CSS?

Barbara Streisand
Barbara Streisand原創
2024-11-03 10:47:291009瀏覽

How to Overwrite a Class CSS with Greasemonkey/Tampermonkey?

如何使用Greasemonkey/Tampermonkey 覆蓋Class CSS

在此場景中,目標是修改body 元素的背景圖像,特別是當它包含類別「banner_url」時,使用Greasemonkey 或Tampermonkey 腳本。實作方法如下:

使用 CSS Cascade

您可以使用 CSS Cascade 來覆寫現有的 CSS 規則,而不是直接修改元素的樣式。為此,請使用 GM_addStyle() 將樣式表新增至頁面。

// ==UserScript==
// @name     _Override banner_url styles
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant    GM_addStyle
// @run-at   document-start
// ==/UserScript==

GM_addStyle(`
    .banner_url {
        background: url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg') no-repeat center center fixed !important;
        -webkit-background-size: cover !important;
        -moz-background-size: cover !important;
        -o-background-size: cover !important;
        background-size: cover !important;
    }
`);

在此腳本中,已添加“文檔開始”元數據,以最大程度地減少在以下情況下可能發生的“閃爍”:初始渲染後樣式會更改。

Greasemonkey 4 的替代方法

如果您使用的是Greasemonkey 4,它已刪除GM_addStyle(),您可以使用以下墊片解決這個問題:

function GM_addStyle (cssStr) {
    var D = document;
    var newNode = D.createElement('style');
    newNode.textContent = cssStr;

    var targ = D.getElementsByTagName('head')[0] || D.body || D.documentElement;
    targ.appendChild(newNode);
}

使用Stylus 進行純CSS 操作

除了Greasemonkey 和Tampermonkey 之外,您還可以考慮使用Stylus 擴展,它提供了更好的選擇用於純CSS 操作。這允許您直接修改 CSS 規則,使其成為此特定任務的更合適的選擇。

以上是如何使用 Greasemonkey/Tampermonkey 覆寫類別 CSS?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn