2013-02-19 69 views
0

我正在使用Wordpress插件'NextGEN Gallery'和'JJ NextGen JQuery Carousel',因爲我試圖製作輪播看起來很像最後一個指定插件的默認外觀。問題是,該插件使用一個div的背景圖像作爲一個按鈕,它得到這個CSS:Overrule!important inline CSS

div#about-jcarousel_container .jcarousel-skin-custom .jcarousel-prev-horizontal { 
    top: 188px !important; 
} 

正因爲如此,這並不正常工作(頂部:0像素部分):

.jcarousel-skin-custom .jcarousel-prev-horizontal { 
    position: absolute; 
    top: 0px; 
    left: 0px; 
    width: 32px; 
    height: 32px; 
    cursor: pointer; 
    background: rgba(24, 16, 16, 0.43) url(prev-horizontal.png) no-repeat 0 0; 
    background-position-y: 50%; 
    height: 100%; 
} 

如果它變得令人討厭的是188px永遠不會被調用任何地方,所以我不能只編輯它使其成爲0px,但在瀏覽器中的客戶端。所以我環顧四周,看起來這個插件將188px代碼放入內嵌的< style>標籤中。因爲它具有重要性,所以我不能只使用我的template.css中的重要內容來覆蓋它。

另一種方式是否定使用inline的重要標籤?我真的希望保持插件可更新。

+0

AFAIK,你可以再次使用'!important'作爲你的風格。 – 2013-02-19 10:50:52

+0

你說它有嵌入式框架,但是你發佈了CSS規則。你確定第一個嗎? – Pavlo 2013-02-19 10:52:16

+0

@Mr_Green我嘗試過,當我這樣做時,它被樣式標籤取代,因爲它也很重要。 – Gideon 2013-02-19 10:52:44

回答

2

覆蓋!important的唯一方法是在級聯中再次使用!important,因此將它放在jcarousel之後的CSS文件中。

另外,編輯的jCarousel

+0

這實際上幫了我很多,我試圖在插件之前調用CSS文件,因爲它將首先與!重要,但顯然它是相反的。我在插件後調用了我的CSS文件,它工作正常! Mr_Green有同樣的答案,但是這首先是如此..是的。 – Gideon 2013-02-19 11:03:55

0

這就是爲什麼使用!important氣餒。您只能覆蓋!important與另一個!important,並不總是可能的。當有!important兩條規則時,則應用「最重要」的規則。

現在的問題是,哪一個更重要?

  1. 內嵌樣式比普通款式更重要(例如<div class="someclass" style="inline style"></div>
  2. 更具體的規則>不太具體(#one。實例標籤。是啊>。是啊)
  3. 如果兩個規則具有相同的優先級,最後一個申請勝利

如果你不能添加更重要的規則,那麼你不能覆蓋!important。但是,您可以使用腳本在頁面加載時添加內聯樣式。示例(使用jQuery):

<script> 
$(document).ready(function() { 
    $("#test").css("color","blue"); 
}); 
</script> 

例無jQuery的:

<script> 
window.onload = function() { 
    document.getElementById("test").style.color = "yellow"; 
} 
</script> 
+0

AFAIK在< style >標籤是所有CSS中最重要的,只有重寫它纔是重要的,但不好的一面是插件使用了這兩個。 – Gideon 2013-02-19 10:57:32

+0

在應用了所有樣式後,您可以使用腳本來修改內聯樣式。這不是很優雅,但如果你至少不能做得更好,那麼這是一個解決方案。 – TheBronx 2013-02-19 11:00:40

+0

我該怎麼做?對未來似乎很方便。 經過測試,內聯或包含文件的!importent是相同的,只是最後一個是最重要的。完成了 – Gideon 2013-02-19 11:05:34

1

看來,你在你的HTML文件的.css文件後,指的的jCarousel的CSS文件。在樣式表(.css文件)之前保留jcarousel .css文件的引用。然後,您可以再次使用!important來覆蓋默認的jcarousel .css文件樣式屬性。