【发布时间】:2016-10-28 18:37:51
【问题描述】:
我正在尝试水平对齐弹性项目内的两个绝对定位元素。
这是我目前的CodePen
HTML:
<div class="stepper-wrapper">
<ul class="step-wrapper" >
<li class="step__bubble"></li>
<li class="step__circle"></li>
</ul>
<ul class="step-wrapper" >
<li class="step__bubble"></li>
<li class="step__circle"></li>
</ul>
</div>
CSS:
.stepper-wrapper {
display: flex;
flex-direction: row;
}
ul {
border: 1px solid grey;
height: 0px;
position: relative;
top: 40%;
min-width: 100px;
flex: 1;
li.step__bubble {
display: inline-block;
vertical-align: middle;
}
li.step__bubble::before {
content: "";
position: absolute;
top: -9px;
left: calc(50%);
display: block;
width: 16px;
height: 16px;
border: 2px solid grey;
border-radius: 50%;
background: white;
}
li.step__circle {
width: 8px;
height: 8px;
border: 1px solid red;
border-radius: 50%;
display: block;
position: absolute;
top: -4px;
left: calc(50% + 1px);
}
}
我想做的是:
- 让灰色圆圈垂直和水平对齐
线。 Vertically 并不是真正的 pb,我可以设置一个固定值,因为
.stepper-wrapper的高度将是固定的。横向需要具有适应性,而这正是我所困的地方。 - 在灰色圆圈内有红色圆圈
我尝试使用calc() 函数并将两个圆圈都设置为(50% - width_of_element_in_px/2),但我不知道为什么,每个像素似乎约为10px。
感谢您的帮助
【问题讨论】:
标签: less flexbox css-position