2016-01-16 172 views
1

我在Chrome瀏覽器擴展程序中使用jQuery來覆蓋網站的默認CSSChrome擴展程序 - 編輯默認HTML

.CatalogHoverContent缺省類是display: none;,但上課的時候.SmallCatalogItemView.CatalogItemInner懸停,它改變display: block;

我已經嘗試使用下面的代碼覆蓋的風格,以防止這一點,但是網站的默認風格似乎是覆蓋這個和類CatalogHoverContent仍然不會默認顯示。

.CatalogHoverContent { 
display: block; 
} 

是否有其他方法可以編輯樣式,如JavaScript?

回答

2

觸發器是CSS。有連接到兩個<div> S IN下面的截圖:hover規則:SmallCatalogItemView:hover.CatalogItemInner:hover

.SmallCatalogItemView:hover .CatalogItemInner.BigInner { 
    padding-bottom: 12px; 
    padding-top: 10px; 
} 

.SmallCatalogItemView:hover .CatalogItemInner.BigInner { 
    top: -10px; 
} 

.SmallCatalogItemView:hover .CatalogItemInner { 
    border: 1px solid #ccc; 
    height: auto; 
    left: -10px; 
    top: -20px; 
    width: 130px; 
    z-index: 6; 
    padding-top: 10px; 
    padding-bottom: 10px; 
    margin-top: 10px; 
} 

.CatalogItemInner:hover { 
    position: absolute; 
} 

.CatalogItemInner, .CatalogItemInner:hover { 
    background: #FFF; 
    border: 0; 
    outline: 0; 
    overflow: visible; 
    position: absolute; 
    margin: 0; 
    padding: 0; 
} 

screenshot

停止這個CSS的運行,有幾個選項:

  • 使用JavaScript設置每個元素的style屬性:

    var elements = document.querySelectorAll(".CatalogItemInner"); 
    for (var i = 0; i < elements.length; i++) { 
        var el = elements[i]; 
        el.style.border = "none"; 
        // ... 
        // Set the rest of the rules 
    } 
    
  • 使用JavaScript編輯樣式表(document.styleSheets[i].cssRules[j].style.removeProperty()MDN)。不過,這需要一些微調。你必須得到正確的指數。 How to change/remove CSS classes definitions at runtime?

  • 刪除CatalogItemInner類。這可能會產生意想不到的副作用。

    element.classList.remove("CatalogItemInner"); 
    
  • 看看this並覆蓋所有的規則:

    // Something like: 
    addCSSRule(sheet, ".CatalogItemInner", "border: none"); 
    // etc. 
    
+0

@TheCodesee我很抱歉,但你是什麼意思?如果你需要知道如何注入CSS,https://stackoverflow.com/questions/115536​​00/how-to-inject-css-using-content-script-file-in-chrome-extension – Hatchet

+0

@TheCodesee請參閱編輯答案。 – Hatchet

+0

非常感謝你,我很感謝你的答案範圍,當我遇到更多問題時,我能夠提及他們! –