2013-04-02 25 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