0

ほとんどの同様の投稿を読みましたが、line-height equal to height または display: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/

4

2 に答える 2

0

CSSに1行追加するだけで、

.cell

.cell{line-height:33px;}

これで十分です。大変な作業はまったく必要ありません:)

更新されたフィドル

動的に追加したい場合は、これを追加します

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

更新されたフィドル

于 2013-04-02T03:57:25.733 に答える