2015-04-23 118 views
0

中心浮动元素

.key { 
 
    width: 40px; 
 
    height: 40px; 
 
    background: red; 
 
    float: left; 
 
    border-radius: 50%; 
 
    text-align: center; 
 
} 
 
.clearFloat { 
 
    clear: both; 
 
}
<div class="keyWrap"> 
 
    <div class="key"><span>1</span> 
 
    </div> 
 
    <div class="key">2</div> 
 
    <div class="key">3</div> 
 

 
    <div class="clearFloat"></div> 
 

 
    <div class="key">4</div> 
 
    <div class="key">5</div> 
 
    <div class="key">6</div> 
 
    <div class="clearFloat"></div> 
 

 
    <div class="key">0</div> 
 
</div>

我怎样才能让圆圈中的数字中心的中心?我不能做填充或保证金,因为它会响应。

回答

3

您可以尝试line-height

.key { 
 
    line-height:40px; 
 
    width: 40px; 
 
    height: 40px; 
 
    background: red; 
 
    float: left; 
 
    border-radius: 50%; 
 
    text-align: center; 
 
} 
 
.clearFloat { 
 
    clear: both; 
 
}
<div class="keyWrap"> 
 
    <div class="key"><span>1</span> 
 
    </div> 
 
    <div class="key">2</div> 
 
    <div class="key">3</div> 
 

 
    <div class="clearFloat"></div> 
 

 
    <div class="key">4</div> 
 
    <div class="key">5</div> 
 
    <div class="key">6</div> 
 
    <div class="clearFloat"></div> 
 

 
    <div class="key">0</div> 
 
</div>

0

你需要在顶部

.key { 
 
    width: 40px; 
 
padding-top:10px; 
 
    height: 30px; 
 
    background: red; 
 
    float: left; 
 
    border-radius: 50%; 
 
    text-align: center; 
 
} 
 
.clearFloat { 
 
    clear: both; 
 
}
<div class="keyWrap"> 
 
    <div class="key"><span>1</span> 
 
    </div> 
 
    <div class="key">2</div> 
 
    <div class="key">3</div> 
 

 
    <div class="clearFloat"></div> 
 

 
    <div class="key">4</div> 
 
    <div class="key">5</div> 
 
    <div class="key">6</div> 
 
    <div class="clearFloat"></div> 
 

 
    <div class="key">0</div> 
 
</div>

+0

它被specificaly提到,您不能使用填充,现在你在这里使用它.. –

1

的给填充最好的解决方案是,您可以使用display:table-cellvertical-align:middle。而且它也是响应式的。

有一件事是,如果你改变身高,那么它也会保持垂直中间。您也可以使用line-height,但在增加圈子高度时会发生变化。

使用它像以下:

.key { 
 
    width: 40px; 
 
    height: 40px; 
 
    background: red; 
 
    float: left; 
 
    border-radius: 50%; 
 
    text-align: center; 
 
    display:table; 
 
} 
 
.clearFloat { 
 
    clear: both; 
 
} 
 

 
.key > span{ 
 
    display:table-cell; 
 
    vertical-align:middle; 
 
    }
<div class="keyWrap"> 
 
    <div class="key"><span>1</span> 
 
    </div> 
 
    <div class="key"><span>2</span></div> 
 
    <div class="key"><span>3</span></div> 
 

 
    <div class="clearFloat"></div> 
 

 
    <div class="key"><span>4</span></div> 
 
    <div class="key"><span>5</span></div> 
 
    <div class="key"><span>6</span></div> 
 
    <div class="clearFloat"></div> 
 

 
    <div class="key"><span>0</span></div> 
 
</div>

+0

我怎么能拉伸以适应父的宽度圈? –

+0

你想如何拉伸圆圈? – ketan

+0

我找到了一个方法,在这里http://jsfiddle.net/5adjhd1x/但我怎么能让他们之间的空间?我其实试图模仿iphone解锁密码屏幕。 –

0

解决方法1:line-height

.key { 
 
    width: 40px; 
 
    height: 40px; 
 
    background: red; 
 
    float: left; 
 
    border-radius: 50%; 
 
    text-align: center; 
 
    line-height: 40px; 
 
} 
 
.clearFloat { 
 
    clear: both; 
 
}
<div class="keyWrap"> 
 
    <div class="key"><span>1</span> 
 
    </div> 
 
    <div class="key">2</div> 
 
    <div class="key">3</div> 
 

 
    <div class="clearFloat"></div> 
 

 
    <div class="key">4</div> 
 
    <div class="key">5</div> 
 
    <div class="key">6</div> 
 
    <div class="clearFloat"></div> 
 

 
    <div class="key">0</div> 
 
</div>

溶液2:flex

.key { 
 
    width: 40px; 
 
    height: 40px; 
 
    background: red; 
 
    float: left; 
 
    border-radius: 50%; 
 
    display: inline-flex; 
 
    justify-content: center; 
 
    align-items: center; 
 
} 
 
.clearFloat { 
 
    clear: both; 
 
}
<div class="keyWrap"> 
 
    <div class="key"><span>1</span> 
 
    </div> 
 
    <div class="key">2</div> 
 
    <div class="key">3</div> 
 

 
    <div class="clearFloat"></div> 
 

 
    <div class="key">4</div> 
 
    <div class="key">5</div> 
 
    <div class="key">6</div> 
 
    <div class="clearFloat"></div> 
 

 
    <div class="key">0</div> 
 
</div>