2011-07-20 45 views
1

我有這樣一個表:阻止valign ='middle'被樣式表聲明覆蓋嗎?

<table> 
<tr><td valign='middle'><a href='#'>Link</a></td><td><img src='img.png'></td></tr> 
</table> 

而且像這樣的樣式表:

a { 
    vertical-align: baseline; 
} 

td a { 
    vertical-align: default; 
} 

我試圖讓我的鏈接被veritcally對齊,而是因爲我最初vertical-align: baseline聲明(我不能改變)valign屬性被忽略。我想在td a選擇器下的樣式表中修復此問題。我怎樣才能解決這個問題?

(我在Chrome 12測試這個)

回答

2

在樣式表中刪除valign="middle"然後執行:

td a { 
    vertical-align: middle; 
} 

既然你問如何 「抹掉」 的宣言。你不能抹掉它,但你可以覆蓋它:

a { 
    vertical-align: middle; 
} 

將取代您的樣式表中的以前的聲明。您在

+0

這工作--and我,只要我可以接受你的答案 - 但反正是有在(謝謝!)一個樣式表來'擦除'以前聲明的屬性?如果沒有任何垂直對齊的規範,它的'valign =「middle」'屬性值就可以正常工作。否則,我有看似無法挽回的問題。 –

+0

你不能抹掉一個屬性,只是設置其他的東西... – feeela

+1

恕我直言,它更好地使用CSS,並遠離HTML中的屬性。我將編輯我的答案,以顯示如何覆蓋標籤上的默認值。 – Cfreak

0

奇怪的問題,因爲according to Sitepoint,爲vertical-align的默認值是baseline,讓您的規則a { vertical-align: baseline }不應該有任何影響。有沒有其他的CSS應用到鏈接?

在現代瀏覽器(如Chrome 12),你可以嘗試:

td[valign="middle"] { 
    vertical-align: middle; 
} 
+0

不應該有任何其他樣式適用,但我會檢查出來並回復給您。感謝您的幫助 –

+0

@beanland:參見例如http://jsfiddle.net/pauldwaite/JD9wg/1/ - 這是不是你期望的渲染? –