我正在尝试“一步一步”,但我遇到了一些与chrome和FF之间的像素差异有关的问题。
所以,所有步骤都是动态的,应该在中间,有时只能出现两个、三个我们的 5 个选项,这就是为什么我要为每一侧制作一个子行,以到达包装器的末尾。
这条线是问题所在,它们使 2 我们的 1 像素差异。
我遗漏了一些东西,或者在这种情况下,我们应该做一个“解决方法”?
如果您在这里看到实际操作会更简单:jsfiddle
对于那些想直接在这里查看代码的人:
html:
<article id="people-add">
<nav>
<div class="step-wrapper">
<div class="base-left-line"></div>
<div class="step first-step">
<div class="active-stepc step-circle"></div>
<span class="step-label">
Step 1
</span>
</div>
<div class="step">
<div class="step-line"></div>
<div class="step-circle"></div>
<span class="step-label">
Step 2
</span>
</div>
<div class="step">
<div class="step-line"></div>
<div class="step-circle"></div>
<span class="step-label">
Step 4
</span>
</div>
<div class="step">
<div class="step-line"></div>
<div class="step-circle"></div>
<span class="step-label">
Step 5
</span>
</div>
<div class="base-right-line"></div>
</div>
</nav>
</article>
和CSS:
#people-add {
float: left;
width: 100%;
}
#people-add nav {
padding: 5px 0 60px 0;
}
.step-wrapper {
float: left;
width: 100%;
text-align: center;
position: relative;
}
.step {
display: inline-block;
position: relative;
width: 120px;
}
.first-step {
width: 0 !important;
}
.step .step-label {
position: absolute;
right: -35px;
bottom: -30px;
font-size: 12px;
width: 96px;
text-align: center;
font-weight: bold;
color: #818181;
}
.step .step-line {
border-bottom: solid #E5E5E5 2px;
position: absolute;
right: 5px;
top: -2px;
z-index: 12;
width: 120px;
}
.step .step-circle {
background-color: #B3B3B3;
border: solid 4px #E5E5E5;
width: 20px;
height: 20px;
border-radius: 50px;
position: absolute;
right: -1px;
top: -15px;
z-index: 13;
}
.base-left-line,
.base-right-line {
position: absolute;
width: 50%;
top: 12px;
z-index: 1;
}
.base-left-line {
border-bottom: 2px solid #9BBD5E;
left: 0;
}
.base-right-line {
border-bottom: 2px solid #9BBD5E;
right: 0;
}
打印:
如您所见,FF 中的绿线与台阶中间的所有灰线交叉。