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)以摆脱由填充元素创建的空格的孤儿. 然后使用绝对定位将标签从流程中取出,并调整第一个和最后一个列表项的文本对齐方式,并使用负边距定位它们以使标签居中. 一个限制是为标签指定了宽度,因此您应该按照您的配置向父容器添加最小宽度. 你有足够的空间来调整需要的东西. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |