你已经看到在类似paypal的网站上这种类型的进度栏的迭代。如何使用CSS和jquery设置这个?我有4页,每一页是一个步骤…所以4个步骤。
解决方法
我已经搜索了一个解决方案,将可视化的流程步骤在我的Web应用程序。我找到了以下杰出的写作史蒂芬·A托马斯:
纯CSS中的跟踪进度(Original Link now dead)
在他的方法托马斯甚至得到了只使用CSS – 没有Javascript!
在本质上,他的文章中的以下CSS代码为我做的伎俩:
<style> <!-- Progress with steps --> ol.progtrckr { margin: 0; padding: 0; list-style-type: none; } ol.progtrckr li { display: inline-block; text-align: center; line-height: 3em; } ol.progtrckr[data-progtrckr-steps="2"] li { width: 49%; } ol.progtrckr[data-progtrckr-steps="3"] li { width: 33%; } ol.progtrckr[data-progtrckr-steps="4"] li { width: 24%; } ol.progtrckr[data-progtrckr-steps="5"] li { width: 19%; } ol.progtrckr[data-progtrckr-steps="6"] li { width: 16%; } ol.progtrckr[data-progtrckr-steps="7"] li { width: 14%; } ol.progtrckr[data-progtrckr-steps="8"] li { width: 12%; } ol.progtrckr[data-progtrckr-steps="9"] li { width: 11%; } ol.progtrckr li.progtrckr-done { color: black; border-bottom: 4px solid yellowgreen; } ol.progtrckr li.progtrckr-todo { color: silver; border-bottom: 4px solid silver; } ol.progtrckr li:after { content: "\00a0\00a0"; } ol.progtrckr li:before { position: relative; bottom: -2.5em; float: left; left: 50%; line-height: 1em; } ol.progtrckr li.progtrckr-done:before { content: "\2713"; color: white; background-color: yellowgreen; height: 1.2em; width: 1.2em; line-height: 1.2em; border: none; border-radius: 1.2em; } ol.progtrckr li.progtrckr-todo:before { content: "\039F"; color: silver; background-color: white; font-size: 1.5em; bottom: -1.6em; } </style>
以及他的例子中的HTML标签(我使用Grails GSP页面来生成标签,动态地使用’done / todo’类):
<ol class="progtrckr" data-progtrckr-steps="5"> <li class="progtrckr-done">Order Processing</li> <li class="progtrckr-done">Pre-Production</li> <li class="progtrckr-done">In Production</li> <li class="progtrckr-done">Shipped</li> <li class="progtrckr-todo">Delivered</li> </ol>
希望它有帮助。对我来说工作相当好。
更新:以下(缩短)版本也很好。
ol.progtrckr { display: table; list-style-type: none; margin: 0; padding: 0; table-layout: fixed; width: 100%; } ol.progtrckr li { display: table-cell; text-align: center; line-height: 3em; } ... and the rest of the CSS ... <ol class="progtrckr"> ... </ol>
display:table; table-layout:fixed; width:100%确保列表项自动调整大小,只要内容不会溢出。没有必要使用data-progtrckr-steps及其相关的CSS。