CSS Text Centering用于绝对定位的div

时间:2013-04-02 03:40:46

标签: css html centering absolute

我读过大多数类似的帖子,但是都没有使用等高于行高的高度或显示:table-cell + vertical-align:middle帮助我将我的div中的数字居中放在绝对定位的位置。

感谢任何帮助。

HTML

<div id='test'>
</div>

CSS

#test {
    position: relative;    
    width: 100px;
    height: 100px;
    border: 1px solid black;
}

.cell {
    display: table-cell;
    vertical-align: middle;
    position: absolute;
    width: 33.33%;
    height: 33.33%;
    text-align: center;
}

.cell:hover {
    background-color: red;
}

的Javascript

var cell = $("<div class='cell'></div>");
var e = $('#test');
var val;
for(i=0;i<3;i++) {
    for(j=0;j<3;j++) {
        val = (i*3)+(j+1);
        c = cell.clone();
        $(e).append(c);
        $(c).html(val);
        $(c).css('top',(i*33.33)+'%');
        $(c).css('left',(j*33.33)+'%');
        $(c).data('value',val);
    }
}

链接:http://jsfiddle.net/wB7Mk/1/

2 个答案:

答案 0 :(得分:1)

您需要使line-height等于高度(以像素为单位)。您可以使用$(height)

获得高度
.css('line-height', $(c).height() + 'px');

http://jsfiddle.net/ExplosionPIlls/wB7Mk/2/

答案 1 :(得分:0)

只需在CSS中添加一行

即可 .cell

中的

.cell{line-height:33px;}

这样做,根本不需要辛勤工作:)

更新了fiddle

如果你想动态添加这个

$('.cell').css("line-height","33px");

更新了fiddle