2013-04-02 24 views
0

我读过最相似的帖子,但都没有使用高度或显示的行高:table-cell + vertical-align:middle帮助我将数字集中在绝对是我的div中定位。CSS文本居中绝对定位的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/

回答

0

只需添加一行到你的CSS,

.cell

.cell{line-height:33px;} 

这是不行的,不需要努力工作,在所有:)

更新的fiddle

如果你想让它动态地添加

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

更新fiddle

+0

有以相对的方式,将其指定的方法吗?我想做33%的东西.. – rationalrevolt

+0

你可以添加jQuery Line, '$('。cell').css(“line-height”,“33px”);'这样做也会:) – MarmiK