在表格单元格的右下角添加下标

时间:2013-02-19 16:16:24

标签: html css html-table

我正在尝试将子脚本添加到html表格单元格中,使其看起来像这样:

enter image description here

(5在细胞中心,99在右下角)

以下是一些示例html:

<table class="yearTable">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td class="dayCell">5
            <div class="daySubscript">99</div>
        </td>
    </tr>
</table>

和我正在使用的CSS:

.yearTable td{
    border:1px solid #CCCCCC;
    width:45px;
    height:45px;
    text-align:center;
    vertical-align:middle;
}

.dayCell 
{
    color:Black;
    background-color:Aqua;
    position: relative;
}

.daySubscript {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;  
      z-index: 10;
    text-align:right;
    vertical-align:bottom;
}

问题是下标显示在IE8的右上角,并且在firefox中根本没有显示

IE中的示例输出:

enter image description here

我尝试将单元格中的测试移动到一个单独的div中,我可以覆盖它们但不能抵消它们。

3 个答案:

答案 0 :(得分:5)

尝试将元素放在右下方,

要查看此作品:http://jsfiddle.net/bfSVk/

.daySubscript {
    /* width: 100%; */
    /* height: 100%; */
    position: absolute;
    bottom:0; /* top: 0; */
    right:0; /* left: 0; */
    z-index: 10;
    text-align:right;
    vertical-align:bottom;
}

.yearTable td{
    border:1px solid #CCCCCC;
    width:45px;
    height:45px;
    text-align:center;
    vertical-align:middle;
    position:relative; /* establish relationship with children position absolute */
}

.yearTable {
    position:relative;
    /* establish relationship with children-children position absolute */
}

答案 1 :(得分:0)

html中有一个专门用于下标的子元素,尝试使用它,看看它的外观如何不应用任何样式。

[编辑下面的替代解决方案]

  .dayCell sub {
    position: absolute;
    margin-top: 13px;
    margin-left: 3px;
    font-size: 11px;
  }

示例jsFiddle:http://jsfiddle.net/functionfirst/hjyvJ/

此替代解决方案使用您的原始位置绝对但不设置顶部/左侧位置,而是使用边距来偏移下标文本。此方法取消了文档工作流程,但未将其位置 relative 设置为元素,因为您没有指定顶部/左侧位置。

答案 2 :(得分:0)

把它,我把最高值改为10并且它有效。尝试,

.daySubscript {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 10;
    left: 0;  
      z-index: 10;
    text-align:right;
    vertical-align:bottom;
}