进度条线条消失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>
我有这个进度条,当它位于 <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>