如何设置显示为圆的div的垂直对齐?

时间:2013-10-23 05:47:01

标签: html css css-position vertical-alignment

这就是我创造的:

enter image description here

这就是我想要的:

enter image description here

这是我的代码:

<div id="OR"><span style=" vertical-align: middle;background:blue;">OR</span></div>  

这是css:

div #OR { border-radius:50%;border-style:1px solid black;background:red;width:42px;height:42px;float:right; background:red;vertical-align: middle;}
div #OR span{ vertical-align: middle; }

所以请帮我把div或者在div的中心。

1 个答案:

答案 0 :(得分:3)

我认为您不需要为 OR 文本添加额外元素,您需要的是line-height属性

Demo

div {
    height: 50px;
    width: 50px;
    border: 1px solid #ddd;
    border-radius: 50%;
    font-weight: bold;
    line-height: 50px; /* Equals elements height */
    text-align: center;
}

如果你想要vertical-align单个单词,如果你想要水平和垂直地完美地居中一个元素,这个解决方案是完美的,其他两种方法是display: table-cell;vertical-align: middle;一起使用或使用CSS定位。


CSS定位方式..

说明:这是在包装器/父元素上使用position: relative;而不是为子元素分配position: absolute;。虽然,这是一个问题,但您需要为要尝试居中的子元素指定固定宽度。

Demo 2

div {
    height: 50px;
    width: 50px;
    border: 1px solid #ddd;
    border-radius: 50%;
    font-weight: bold;
    position: relative;
}

div span {
    position: absolute;
    border: 1px solid #f00;
    left: 50%;
    top: 50%;
    height: 20px;
    width: 24px;
    margin-top: -10px; /* Half of the elements height */
    margin-left: -12px; /* Half of the elements width */
}