0

这就是我创建的:

在此处输入图像描述

这就是我想要的:

在此处输入图像描述

这是我的代码:

<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; }

所以请帮我把 thart OR 放在 div 的中心。

4

1 回答 1

3

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

演示

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;。不过,这是一个问题,您需要为要居中的子元素分配固定宽度。

演示 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 */
}
于 2013-10-23T05:48:41.217 回答