2014-09-21 93 views
0

我在WordPress頁面中創建三個標題文本,並在屏幕寬度小於820px時重寫CSS。以下是我所做的代碼。無法在WordPress中重寫h2樣式

<h1 class="block-h1">Heading 1</h1> 
<h2 class="block-h2">Heading 2</h2> 
<h3 class="block-h3">Heading 3</h3> 

@media screen and (max-width: 819px) { 
    h1.block-h1 { font-size:1.2em; line-height:12px; top:10%;} 
    h2.block-h2 { font-size:1.4em; line-height:14px; top: 50%;} 
    h3.block-h3 { font-size:1.8em; line-height:10px; top: 70%;} 
} 

只有<H1>和<H3>可重寫了,但<H2>的風格不能覆蓋的。員額內容H2被保留。添加樣式添加頁面的頁腳。

http://screencloud.net/v/tlTeenter image description here

+0

你能告訴我們更多的代碼嗎? 「h」元素周圍是什麼? – Aaron 2014-09-21 06:01:43

+0

你是什麼意思圍繞h元素的代碼? HTML或CSS代碼? – Kelvin 2014-09-21 18:03:21

回答

0

理解如何CSS在優先讀可以幫助你在這種情況下的層次

免責聲明,你應該避免這些;只需更新實際樣式表中的代碼,或者在內部創建條件;但如果你不能考慮下面。

1.)覆蓋外部/css.css樣式表。這是最容易覆蓋的;您可以在.html頁面引用中擁有樣式(您可以將它們放在任何地方並且會覆蓋)例如。內<head><style>span { color: red; }</style></head>

2)如果你需要重寫類似於所報上面的</head>內對網頁的風格。你需要聲明一個最終優先的內聯樣式。 例如<span class="purple" style="color:red;">yooo</span>

3)如果有問題還是..你的CSS可以通過JS或jQuery的,甚至是服務器端插入包括使它有一些技巧;大多數情況下,您可以將簡單的!important添加到您嘗試覆蓋的位置。 例如<head><style>span { color: red !important; }</style></head>

4.)如果您還有問題,那麼這裏就有些奇怪的事情發生了;你應該在其中嘗試調試。但jQuery的可以覆蓋大多數情況相當不錯,以及(儘管你真的不應該用這樣的CSS樣式低水平技術)

但是 - 你可以簡單地這樣做:

$("span").css("color","red"); 

或者。先刪除先前的樣式 - 然後替換

$("span").removeAttr('style').css("color","purple"); 

然後用上面的任何方法添加正確的一個!

0

使用!重要的是要強制覆蓋默認樣式

 h2.block-h2 { font-size:1.4em!important; line-height:14px!important; top: 50%;!important}

希望這項工作

0

你試過只是讓你的H2規則更具體?

#wrapper .post-content h2.block-h2 {} 
+0

是的,我可以使規則更具體,使其工作,只是不知道爲什麼h1和h2發佈在同一頁上,但有不同的結果。不知道什麼控制了代碼以及如何排除故障。 – Kelvin 2014-09-21 18:05:35

+1

有可能是其他代碼覆蓋它 – Aaron 2014-09-22 19:32:20

0

原因是因爲您使用的主題是強制嵌入式樣式。這可能是因爲在某個地方有一個主題選項,開發人員正在使用PHP強制它到達DOM。嵌入式樣式會覆蓋外部樣式,而嵌入式樣式會覆蓋嵌入式樣式。

可以這麼說,從Chrome瀏覽器開發工具發生的事情,因爲它說的來源是:?page_id=54 LINE NUMBER

你可以尋找到你的主題自定義設置,跟蹤其開發者正在推動的代碼覆蓋它們頁面,或者如user3313126所示,使用!important

0

加入!重要的是在css代碼後的

+0

如果您可以編輯您的答案並解釋您顯示的代碼的作用,以及爲什麼/如何代碼回答這個問題,這將使您的答案更有幫助。 – 2015-03-11 07:17:58