【问题标题】:How to get `:after` to work in extjs iconCls?如何让`:after`在extjs iconCls中工作?
【发布时间】:2013-05-27 19:09:54
【问题描述】:

我的树节点图标的 css 如下:

.icon {
    background: url(http://dummyimage.com/100x100/ccc/fff);
    width: 100px;
    height: 100px;
    position: relative;
}
.icon:after {
    background: url(http://dummyimage.com/32x32/f0f/fff);
    width: 32px;
    height: 32px;
    display: block;
    content: ' ';
    position: absolute;
    bottom: 0;
    right: 0;
}

我将iconCls 设置为"icon" 但它不起作用,我也尝试了"icon icon:after""icon:after" 但没有运气。

我使用现代浏览器并且我的覆盖 css 是有效的,但 extjs 似乎不理解它。我该如何克服这个问题?

【问题讨论】:

    标签: css extjs extjs4 extjs4.1 extjs3


    【解决方案1】:

    图标元素默认为<img> 元素。它的内容被图像替换。您不能将 :before 或 :after 与它一起使用,因为它们构成了被替换内容的一部分。您需要覆盖 Ext.tree.Column 中的 treeRenderer 以应用您的第二张图片。

    【讨论】:

    • hmm.. 我会试试看,我还不确定如何扩展 ext.tree.column,但会尝试。
    • "注意这是框架内部使用的私有实用程序类。不要依赖它的存在。"(docs.sencha.com/extjs/4.1.0/#!/api/Ext.tree.Column)
    • 当然。所以替换整个班级。无论如何,Ext.tree.Column 中除了 treeRenderer 之外没有太多内容。它仍然可以从没有此类警告的 Ext.grid.column.Column 派生。
    【解决方案2】:

    看起来你忘记了你的一个测试中的类前缀尝试.icon:after {}

    【讨论】:

    • 这只是一个错字,我的css中没有空格
    • 对不起,我误解了你。你是说我应该尝试包含括号吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    相关资源
    最近更新 更多