代码之家  ›  专栏  ›  技术社区  ›  sachin_ware

如何设置显示为圆形的div的垂直等分?

  •  0
  • sachin_ware  · 技术社区  · 12 年前

    这就是我创造的:

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

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

    1 回复  |  直到 12 年前
        1
  •  3
  •   Mr. Alien Redu    12 年前

    我认为你不需要额外的元素 文本,您需要的是 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 */
    }