【问题标题】:CSS arbitrary count of elements with equal width in a horizontal rowCSS 在水平行中任意数量的等宽元素
【发布时间】:2011-10-13 12:42:07
【问题描述】:

我想创建一个这样的进度跟踪器:https://hmv.com/hmvweb/checkoutRegister.do 但我需要流畅地使用它,以便周围的 DIV 可以改变它的宽度。我可以给每个列表元素一个百分比宽度,但此外会有不同数量的列表元素的进度跟踪器。列表元素应该填满整个宽度,并且它们应该具有相等的宽度。

不是一个简单的挑战,对吧?

有人知道如何创建解决方案吗?我尝试了 display: table 属性,它们并排放置,但不像想要的那样(元素的宽度错误)。

【问题讨论】:

    标签: css progress


    【解决方案1】:

    为什么不将元素包裹在一个没有列表样式、显示:块和 100% 宽度的 <ul> 中。然后让<li> 系列中的每个进度项具有浮动:左,没有列表样式和相等的 百分比 宽度?这将要求您根据项目数量为<li> 设置一个css 样式,但如果您使用的是CMS 或可以编写一些JS,那么您可以相应地附加正确的<li> 样式。

    【讨论】:

    • 我使用这种方法是因为旧浏览器(IE7)的良好支持。谢谢:)
    【解决方案2】:

    我尝试了 display: table 属性,它们并排放置 侧面但不像想要的那样(元素的宽度错误)。

    如果您是happy with 基于display: table 的解决方案,除了元素的宽度不相等,那么最简单的做法就是解决该问题。

    您可以通过将table-layout: fixed 应用于具有display: table 的任何内容来做到这一点。

    见:http://jsfiddle.net/JBfE7/

    【讨论】:

    • 不错的解决方案!不知道table-layout这个属性,但是因为IE7中不支持display:table所以我用了另一种方法。还是谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多