进度条线条消失CSS

Progress bar lines disappears CSS

我有这个进度条,当它位于 <header> 之外时,会显示步骤之间的线条,但由于需要 z-index,当它位于 [=] 内部时,线条不会显示13=] 标签。 像这样:

如果我更改 z-index,该行将像这样穿过框:

我不知道是否有解决方法,但如果您有任何想法,请告诉我!

我的相关部分代码:

body {
    background: #000;
}

header {
    background-image: url("http://texturemate.com/image/view/1560/_original");
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0;
}

/*form styles*/
    #msform {
        width: 400px;
        margin: 50px auto;
        text-align: center;
        position: relative;
    }

    /*progressbar*/
    #progressbar {
        margin-bottom: 30px;
        overflow: hidden;
        /*CSS counters to number the steps*/
        counter-reset: step;
    }
    #progressbar li {
        list-style-type: none;
        color: white;
        text-transform: uppercase;
        font-size: 9px;
        width: 33.33%;
        float: left;
        position: relative;
    }
    #progressbar li:before {
        content: counter(step);
        counter-increment: step;
        width: 50px;
        line-height: 50px;
        display: block;
        font-size: 10px;
        color: #333;
        background: white;
        border-radius: 50%;
        margin: 0 auto 5px auto;
    }
    /*progressbar connectors*/
    #progressbar li:after {
        content: '';
        width: 100%;
        height: 2px;
        background: white;
        position: absolute;
        left: -50%;
        top: 25px;
        z-index: -1; /*put it behind the numbers*/
    }
    #progressbar li:first-child:after {
        /*connector not needed before the first step*/
        content: none;
    }
    /*marking active/completed steps green*/
    /*The number of the step and the connector before it = green*/
    #progressbar li.active:before,  #progressbar li.active:after{
        background: #27AE60;
        color: white;
    }
<header>
    <div class="container">
        <div class="navbar">
            <div class="navbar-brand">
                <a href="/" id="logo" class="logo" alt="Home">
                    <img src="logo.png" class="hidden-sm"/>
                </a>
            </div>
        </div>
    </div>
    <div class="container">
        <div class="row">
            <div class="col-md-12 progressbar">
                <form id="msform">
                    <!-- progressbar -->
                    <ul id="progressbar">
                        <li class="active">Account Setup</li>
                        <li>Social Profiles</li>
                        <li>Personal Details</li>
                    </ul>
                </form>
            </div>
        </div>
    </div>
</header>

您可以减少 width 行然后调整 Left 位置以将其放在圆圈之间 (从圆圈的外边界而不是中心),也不要忘记为行设置 z-index: 1

像这样:

body {
  background: #000;
}

header {
  background-image: url("http://www.solidbackgrounds.com/images/2880x1800/2880x1800-air-force-dark-blue-solid-color-background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0;
}

/*form styles*/
#msform {
  width: 400px;
  margin: 50px auto;
  text-align: center;
  position: relative;
}

/*progressbar*/
#progressbar {
  margin-bottom: 30px;
  overflow: hidden;
  /*CSS counters to number the steps*/
  counter-reset: step;
}

#progressbar li {
  list-style-type: none;
  color: white;
  text-transform: uppercase;
  font-size: 9px;
  width: 33.33%;
  float: left;
  position: relative;
}

#progressbar li:before {
  content: counter(step);
  counter-increment: step;
  width: 50px;
  line-height: 50px;
  display: block;
  font-size: 10px;
  color: #333;
  background: white;
  border-radius: 50%;
  margin: 0 auto 5px auto;
}

/*progressbar connectors*/
#progressbar li:after {
  content: '';
  width: 60%;  /* Changed */
  height: 2px;
  background: white;
  position: absolute;
  left: -30%;  /* Changed */
  top: 25px;
  z-index: 1;  /* Changed */
}

#progressbar li:first-child:after {
  /*connector not needed before the first step*/
  content: none;
}

/*marking active/completed steps green*/
/*The number of the step and the connector before it = green*/
#progressbar li.active:before,  #progressbar li.active:after{
  background: #27AE60;
  color: white;
}
<header>
    <div class="container">
        <div class="navbar">
            <div class="navbar-brand">
                <a href="/" id="logo" class="logo" alt="Home">
                <img src="logo.png" class="hidden-sm"/>
                </a>
            </div>
        </div>
    </div>
    <div class="container">
        <div class="row">
            <div class="col-md-12 progressbar">
                <form id="msform">
                    <!-- progressbar -->
                    <ul id="progressbar">
                        <li class="active">Account Setup</li>
                        <li>Social Profiles</li>
                        <li>Personal Details</li>
                    </ul>
                </form>
            </div>
        </div>
    </div>
</header>