2011-06-28 16 views
1

私はテーブルがあり、tdの中にaというタグがあり、class='day'です。 class='day'tdの右上にあるようにします。これは次のCSSを設定するだけで簡単にできるはずだと思いました。コンテンツの一部のみをtdの右上に配置する方法は?

td { position: relative;} 
.day{ position: absolute; top: 0; right: 0; } 

これは正しく動作しません。右上にあるすべてのテキストのhttp://jsfiddle.net/Mftp7/

+0

http://www.w3.org/TR/CSS2/visuren.html#choose-position;数字を揃えるだけでなく、右上 – MatTheCat

答えて

2

は前にこの反対来ていないが、それが適切に耳を傾けていないようデフォルトでdisplay:table-celltd要素の癖、のように見えます相対的な位置付けまで。

回避策として、tdの内容をdivの中にラップし、代わりにdivにすることができます。それから、あなたは望ましい行動を取るでしょう。

+0

のイベントが働いていたであろう) – TH1981

+0

+1私の答えを拡張するため。 –

0

使用

td { 
    vertical-align: top; 
    text-align: right; 
} 

:私はここで完全なコードを持っています。

+2

素晴らしい - ちょうどクラスtdでdivを追加し、一致するようにCSSを再配置しました。それは本当に厄介な小さな変わったものです! –

4

table要素は、という信頼性でに配置することはできません。

これを回避する方法は、aを別の要素内にラップすることです。position: relativeです。

月の最初の日のためのアクションでそれを参照してください - http://jsfiddle.net/Mftp7/4/

0

テーブルの位置付けが難しいです。配置を使用する代わりに、vertical-align: top;を表のセルに使用し、ブロックレベルの要素の中にその日を入れて、text-align: rightを配置します。

http://jsfiddle.net/Mftp7/6/

<td><p class="day"><a href="#">6</a></p></td> 

table.calendar td, table.calendar th 
    { vertical-align: top; } 
p.day 
{ text-align: right; } 
関連する問題