2016-05-12 8 views
0

Ich habe diese Fortschrittsbalken und wenn es außerhalb der <header> die Linien zwischen den Schritten angezeigt wird, aber wegen einer benötigten z-index zeigt die Linien nicht, wenn es innerhalb der <header> Tag ist. So: enter image description hereProgress Bar Linien verschwindet CSS

Wenn ich ändern, um die z-index die Linie durch die Boxen so geht: enter image description here

Ich weiß nicht, ob es eine Abhilfe ist das, aber wenn Sie irgendwelche Ideen haben, informieren Sie mich bitte kennt!

Mein Code für die relevanten Teile:

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>

+0

Können Sie Ihre Beispielcode bearbeiten, so dass es das Problem zeigt? Es gibt nicht einmal ein Header-Element in deinem Code. – Turnip

+0

Gibt es einen Grund, den dunklen Hintergrund nicht noch weiter über 'z-index' zu schicken? – Nitesh

+0

Ich habe jetzt das Header-Element in den Code eingefügt, @Turnip – teninchhero

Antwort

0

Sie können die width der Linien verringern dann Left Position einstellen zwischen den Kreisen setzen (von der äußeren Grenze der Kreise nicht von der Mitte), vergessen Sie nicht, z-index: 1 für Linien zu setzen.

Etwas wie folgt aus:

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>