【问题标题】:dgrid white-space css property ignored in cellsdgrid 空白 css 属性在单元格中被忽略
【发布时间】:2015-11-16 04:47:32
【问题描述】:

我在我的 dojo 应用程序中实现了一个 dgrid,由于某种原因,当应用于 .dgrid-cell 类时,网格似乎忽略了 white-space:nowrap; 属性分配。我的目标是使 dgrid 的单元格宽度永远不会减小到低于单元格标题中的内容。但实际行为是,如果行中的单元格太多而无法容纳整个单元格,则它们的宽度都会相等地减小。

我尝试了以下声明,具有不同的特异性和 !important 等:

th.dgrid-cell {
    white-space:nowrap;
}

我什至尝试将其应用于所有单元格,如下所示:

.dgrid-cell {
    white-space:nowrap;
}

但该属性似乎被忽略了。请对我如何实现这一目标提出任何建议?

【问题讨论】:

    标签: javascript html css dojo dgrid


    【解决方案1】:

    white-space: nowrap 应该是work just fine

    但是,由于它的设计方式,让 dgrid 根据单元格内容自动确定列宽是不可行的(以及通常任何其他动态数据网格组件,包括 dojox grid 和 gridx,如果我没记错的话)。

    dgrid 在自己的表格中呈现每一行,这使得虚拟滚动(即OnDemandGrid)等功能成为可能,并且还避免了通常由具有许多行和列的大型表格产生的大量渲染开销,这些表格需要根据所有数据计算宽度其内容。然而,因此,dgrid 的列无法根据内容自动调整大小。

    如果您主要关心确保基于标题内容的宽度,希望这足够合理,可以根据其预期内容实现。您还可以使用text-overflow: ellipsis(正如我在上面链接的小提琴中所做的那样)在发生溢出时更优雅地指示溢出。

    【讨论】:

    • 感谢您的回答。但是,我刚刚对小提琴进行了更改以证明我遇到的问题。请注意,在此示例中,标题内容被截断,即它不遵守 white-space:nowrap 声明。我想要的行为是网格将在必要时水平滚动,以容纳完整显示的标题。 jsfiddle.net/7jtcp4u4/1 顺便说一句(可能无关紧要) - 在我的应用程序中,我在服务器上动态创建列/网格布局定义,因为它是动态的并且每次渲染都不同
    猜你喜欢
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 2011-04-19
    • 2021-02-17
    相关资源
    最近更新 更多