CSS не применяется к анонимному элементу в Linux/Mac

У меня сумасшедшая проблема. Класс .profilis-tbb не относится к анонимному элементу.profilist-tbb-box"который я добавил с XBL.

У меня есть файл xbl с двумя привязками. #tbb а также #tbb_box, #tbb расширяет toolbarbutton который имеет класс .profilist-tbb и это #tbb_box это элемент box, который содержит это toolbarbutton,

Хороший результат выглядит как этот образ, и он выглядит так, но только в Windows.

и DOM Inspector этого хорошего (на Windows XP, 7, 8.1):

Теперь проблема в Linux и Mac toolbarbutton не принимает CSS. Это изображение из Linux:

В Linux, хотя #tbb_box XBL применяется успешно (даже при том, что кнопка панели инструментов нет):

Структура такова: в XUL я добавляю элемент box и присваиваю ему класс:

['xul:box', {class:'profilist-tbb-box', label:'blah'}];

И затем это XBL, который применяется: (в случае profilist-tbb и linux/max он ДОЛЖЕН применяться, но это не так)

```
.profilist-tbb-box {
    -moz-binding: url('chrome://profilist/content/xbl.xml#tbb-box');
}
.profilist-tbb {
    -moz-binding: url('chrome://profilist/content/xbl.xml#tbb');
}
```

XBL-файл:

```
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xbl="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml">
    <binding id="tbb" role="xul:toolbarbutton" extends="chrome://global/content/bindings/button.xml#button-base">
        <resources>
            <stylesheet src="chrome://global/skin/toolbarbutton.css" />
        </resources>
        <content>
            <children includes="observes|template|menupopup|panel|tooltip" />
            <xul:image class="toolbarbutton-icon" xbl:inherits="validate,src=image,label" flex="0" />
            <xul:image class="profilist-badge" xbl:inherits="validate,src=badge,label" width="1" flex="0" />
            <xul:stack class="profilist-display-stack" flex="1">
                <html:input class="profilist-input" xbl:inherits="value=label" />
                <xul:label class="toolbarbutton-text" crop="right" flex="1" xbl:inherits="value=label,accesskey,crop,wrap" />
            </xul:stack>
        </content>
    </binding>
    <binding id="tbb-box">
        <content>
            <toolbarbutton class="profilist-tbb" xbl:inherits="label,disabled" />
            <xul:box class="profilist-submenu" xbl:inherits="disabled">
                <xul:image class="profilist-is-default" xbl:inherits="disabled" />
                <xul:image class="profilist-clone" xbl:inherits="disabled" />
                <xul:image class="profilist-dots" xbl:inherits="disabled" />
                <xul:image class="profilist-dev-build" xbl:inherits="disabled" />
                <xul:image class="profilist-dev-safe" xbl:inherits="disabled" />
                <xul:image class="profilist-default" xbl:inherits="disabled" />
                <xul:image class="profilist-rename" xbl:inherits="disabled" />
                <xul:image class="profilist-inactive-del" xbl:inherits="disabled" />
            </xul:box>
        </content>
    </binding>
</bindings>
```

Пожалуйста, помогите мне выяснить, почему XBL не применяется к кнопке панели инструментов, которая находится внутри коробки.

1 ответ

Я решил это, удалив это toolbarbutton Я перешел на этот XBL:

Обратите внимание, как я заменил <toolbarbutton> элемент с тем, что было в первой привязке. Так что теперь просто один обязательный.

Другие вопросы по тегам