html – 均匀分配li项目
|
希望这是自我解释:
HTML: <ul class="steps">
<li class="step1 first">
<div class="icon basket"></div>
1.Warenkorb
</li>
<li class="step2">
<div class="icon registration"></div>
2.Adresse
</li>
<li class="step3">
<div class="icon payment"></div>
3.Zahlungsart
</li>
<li class="step4">
<div class="icon order"></div>
4.Best?tigen
</li>
<li class="step5 last">
<div class="icon thankyou last"></div>
5.Danke
</li>
<div style="clear:both"></div>
CSS: .steps {
width:100%;
list-style-type: none;
padding:0;
margin:0 auto;
background:url(http://tnsdev.cloudapp.net/dev/steps_slice.png) repeat-x;
}
.steps li {
width:20%;
float:left;
}
.steps li .icon {
background:url(http://tnsdev.cloudapp.net/dev/steps_icon.png) no-repeat;
height:44px;
width:44px;
}
http://jsfiddle.net/HYYwn/1/ 我如何才能实现泡沫之间的距离是一样的,而step5的气泡在最右边呢?我有五个不同的李的限制,并使用%,所以它保持响应. 现在玩了一段时间,我自己不能摆脱这个问题! 编辑: 结果应该是这样的 O--O--O--O--O 不喜欢 --O--O--O--O--O 要么 O--O--O--O--O-- 要么 --O--O--O--O--O-- 解决方法
这是使用text-align:justify做一个方法.
这种方法的优点是圆/气泡图案均匀间隔,您还可以控制下面的标签的对齐. 您首先需要将标签包装在容器中,我使用< p>标记,并添加一个终止< li>元素,相当于清算元素. <ul class="steps">
<li class="step1 first">
<div class="icon basket"></div>
<p>1.Warenkorb</p>
</li>
<li class="step2">
<div class="icon registration"></div>
<p>2.Adresse</p>
</li>
<li class="step3">
<div class="icon payment"></div>
<p>3.Zahlungsart</p>
</li>
<li class="step4">
<div class="icon order"></div>
<p>4.Best?tigen</p>
</li>
<li class="step5 last">
<div class="icon thankyou last"></div>
<p>5.Danke</p>
</li>
<li class="filler"></li>
</ul>
对于CSS: .steps {
width:100%;
list-style-type: none;
padding:0;
margin:0 auto;
background:url(http://tnsdev.cloudapp.net/dev/steps_slice.png) repeat-x;
text-align: justify;
line-height: 0;
}
.steps li {
width: auto;
display: inline-block;
margin: 0;
padding: 0;
line-height: 1.5;
position: relative;
text-align: center;
}
.steps li .icon {
background:url(http://tnsdev.cloudapp.net/dev/steps_icon.png) top center no-repeat;
height:44px;
width:44px;
}
.steps li p {
position: absolute;
width: 100px;
top: 50px;
left: -22px;
margin: 0;
}
.steps li.first p {
text-align: left;
left: 0;
}
.steps li.last p {
text-align: right;
left: auto;
right: 0;
}
.steps li.filler {
width: 100%;
height: 0;
font-size: 0;
vertical-align: top;
}
See demo at jsFiddle 首先,我在父容器上使用text-align:对齐,以均匀分布那些缩进为适合squareicon元素的内联块的li元素. .filler行强制新的100%宽度的行,允许文本对齐工作.我设置vertical-align:top(和父项中的line-height:0)以摆脱由填充元素创建的空格的孤儿. 然后使用绝对定位将标签从流程中取出,并调整第一个和最后一个列表项的文本对齐方式,并使用负边距定位它们以使标签居中. 一个限制是为标签指定了宽度,因此您应该按照您的配置向父容器添加最小宽度. 你有足够的空间来调整需要的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
