2011-07-20 9 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セレクタの下のスタイルシートでこれを修正したいと思います。これをどうすれば解決できますか?

(私はクローム12でこれをテストしてい)

答えて

2

valign="middle"を削除して、スタイルシートで行う:

td a { 
    vertical-align: middle; 
} 

あなたはどのように宣言を「消去」するために求めていたので。あなたはそれを消去することはできませんが、それを上書きすることができます:

a { 
    vertical-align: middle; 
} 

はスタイルシートの前の宣言を置き換えます。あなたが抱えている

+0

これは動作します - そして、私はできるだけ早く私はできる限りあなたの答えを受け入れるだろう - しかし、でとにかくあります(ありがとう!)以前に宣言されたプロパティを '消去'するためのスタイルシート?垂直配置の指定がなければ、 'valign =" middle "'属性値でうまく動作します。それ以外の場合は、私は一見修復不可能な問題があります。 –

+0

プロパティを消去することはできません。ただ他に何かを設定してください... – feeela

+1

IMHOは、CSSのみを使用し、HTMLの属性から離れる方が優れています。私は自分の答えを編集して、タグのデフォルトを上書きする方法を表示します – Cfreak

0

奇数問題は、according to Sitepointとして、vertical-alignのデフォルト値はbaselineあるので、あなたのルールa { vertical-align: baseline }はどんな効果を持つべきではありません。リンクに他のCSSが適用されていますか?最近のブラウザで

(クローム12のように)、あなたは試みることができる:

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

他のスタイルは適用しないでくださいが、私はそれを調べてあなたに連絡します。助けてくれてありがとう –

+0

@beanland:例を見てください。 http://jsfiddle.net/pauldwaite/JD9wg/1/ - これはあなたの予想どおりのレンダリングではありませんか? –

関連する問題