2016-05-12 66 views
0

我有這個進度條,當它站在<header>之外時,步驟之間的界線正在顯示,但由於需要z-index,線條不會在<header>標籤內顯示其內容。 像這樣:enter image description here進度條線條消失CSS

如果我改變z-index直線穿過盒子這樣的: enter image description here

我不知道是否有一個變通方法,但如果您有任何意見,請讓我知道!

我對相關的部分代碼:

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

您可以編輯您的示例代碼,以便它顯示了問題?你的代碼中甚至沒有'header'元素。 – Turnip

+0

任何理由不通過'Z-index'進一步發暗的背景? – Nitesh

+0

我到現在的代碼添加的頭元素,@Turnip – teninchhero

回答

0

可以減少線路的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>