9

我想在中间显示一条带有单词的水平线,使其如下所示:

在此处输入图像描述

我正在尝试这个并且不起作用:

HTML:

<h2><span>Test</span></h2>

CSS:

h2{
    font-size: 100px;
    border-top: solid 1px black;
    width: 100%;
    height: 50px;
    margin-top: 25px;
    top: 50%;
    z-index: 1;    
}

span{
     background: #fff;
      padding: 0 20px;
      margin-top:-25px;
       display: inline-block;
       z-index: 5;
}

JSFiddle:http: //jsfiddle.net/2ds9a/

4

3 回答 3

19

你可以习惯css :after

像这样

HTML

<h2><span  class="line-center">Test</span></h2>

CSS

.line-center{
    margin:0;padding:0 10px;
    background:#fff;
    display:inline-block;
}
h2{

    text-align:center;
    position:relative;
    z-index:2;

}
h2:after{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    right:0;
    border-top:solid 1px red;
    z-index:-1;
}

现场演示

于 2013-04-15T07:27:04.993 回答
2

this answer(由Quentin建议)所示,以下代码应该适合您:

<div style="height: 2px; background-color: black; text-align: center">
  <span style="background-color: white; position: relative; top: -0.5em;">
    Section Title
  </span>
</div>

有关更多信息,请查看此问题。

于 2013-04-15T07:24:58.270 回答
1

有不同的方法可以做到这一点,这是我的解决方案:

http://jsfiddle.net/zzLnt/

   <h2><span class="line"></span><span class="text">Test<span></h2>
   <style> 
    h2{
        font-size: 100px;
        z-index: 1;
        position: relative;
        text-align: center;
    }

    .line{
        background: #000;
        border-top: solid 1px black;
        position: absolute;
        height: 1px;
        display: block;
        top: 56px;
        width: 100%;
    }

    .text{
        background-color: #FFFFFF;
        z-index: 20;
        position: relative;
        text-align: center;
        padding: 0 34px;
    }
</style>
于 2013-04-15T07:39:03.340 回答