水平居中很容易:text-align: center;
. 元素内文本的垂直居中可以通过设置line-height
为容器高度来完成,但这在浏览器之间存在细微差别。在小元素上,比如通知徽章,这些更明显。
更好的是设置line-height
等于font-size
(或略小)并使用填充。你必须调整你的身高以适应。
这是一个纯 CSS 的单一<div>
解决方案,看起来非常像 iPhone。它们随着内容而扩展。
演示:http: //jsfiddle.net/ThinkingStiff/mLW47/
输出:
CSS:
.badge {
background: radial-gradient( 5px -9px, circle, white 8%, red 26px );
background-color: red;
border: 2px solid white;
border-radius: 12px; /* one half of ( (border * 2) + height + padding ) */
box-shadow: 1px 1px 1px black;
color: white;
font: bold 15px/13px Helvetica, Verdana, Tahoma;
height: 16px;
min-width: 14px;
padding: 4px 3px 0 3px;
text-align: center;
}
HTML:
<div class="badge">1</div>
<div class="badge">2</div>
<div class="badge">3</div>
<div class="badge">44</div>
<div class="badge">55</div>
<div class="badge">666</div>
<div class="badge">777</div>
<div class="badge">8888</div>
<div class="badge">9999</div>