Почему фон не появляется? (Проблема CSS) - PullRequest
0 голосов
/ 17 января 2011

У меня есть следующий Xul:

<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://bartest/skin/bartest.css" type="text/css"?>

<window width="400" height="300"
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <vbox id="backBox">
        <hbox id="frontBox">

            <!-- this label is needed, else this box doesn't show up -->
            <label value="" />

        </hbox>
    </vbox>

</window>

со следующим CSS:

#backBox {
    background-color: red;
    width: 200px;
    position: fixed;
    left: 0;
}

#frontBox {
    background-color: blue;
    width: 100px;
    position: fixed;
    left: 0;
}

Я ожидал увидеть красное поле размером 200 пикселей и синее поле размером 100 пикселей внутри.Но я вижу только синее поле размером 100px.

Почему красное поле (id = "backBox") не отображается?

1 Ответ

1 голос
/ 22 января 2011

Что должно произойти здесь, так это то, что оба блока должны быть растянуты до ширины окна, потому что вы не сказали им не делать этого, и контейнеры растягивают свои дочерние элементы по умолчанию. Если вы хотите, чтобы их блоки соответствовали ширине CSS, вам нужно изменить их выравнивание, что достигается либо атрибутом align = "start", либо CSS -moz-box-align: start; но обратите внимание, что они принадлежат родителям, то есть окну и vbox.

...