如何只定位td右上角的部分内容?

时间:2011-06-28 18:08:42

标签: html css css-position

我有一张表,在td内我有一个a标记class='day'。我希望class='day'位于td的右上角。我认为这应该像设置以下css一样简单:

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

这不行。我在这里有完整的代码:http://jsfiddle.net/Mftp7/

4 个答案:

答案 0 :(得分:4)

table个元素无法可靠地定位。

解决这个问题的方法是将a包含在另一个元素中position: relative

在本月的第一天看到它 - http://jsfiddle.net/Mftp7/4/

答案 1 :(得分:2)

之前没有遇到过这种情况,但默认情况下,td元素看起来像是display:table-cell的怪癖,似乎没有正确地听取相对定位。

作为一种解决方法,您可以将td的内容包含在div内,然后改为div亲戚。然后你会得到理想的行为。

答案 2 :(得分:0)

使用

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

右上角的所有文字。

答案 3 :(得分: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; }