Flex 4.6 CSS vgroup "пробел" игнорируется

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark"     
           >
    <fx:Style>    
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";
        s|VGroup {
            gap: 150;
            left: 30;
        }
    </fx:Style>
    <s:VGroup>
        <s:Label text="text1" />
        <s:Label text="text1" />
    </s:VGroup>
</s:Application>

VGroup находится в 30 пикселях слева, как и предполагалось (это мое доказательство того, что стиль используется), но он игнорирует данный пробел. Когда я передаю 'gap="150"' непосредственно в элемент VGroup, это работает. Так почему же это игнорируется при переходе через css?

спасибо за любую подсказку.

у.е., Маркус

1 ответ

Потому что gap - это "свойство" класса VGroup, а не стиль. Это свойство является лишь оболочкой для свойства VerticalLayout#gap.

Если вы используете FlashBuilder, вы можете увидеть разницу между ними в списке предложений. Свойство представлено в виде зеленого круга. Стиль показан в виде синей фигуры "Блок тетриса".

редактировать Left это также свойство, но оно все же применяется. Причина этого заключается в том, что в старых версиях Flex SDK baseline, top, bottom, left, right, horizontalCenter а также verticalCenter где реализовано как стили. Поэтому причина, по которой вы все еще можете их использовать, - это обратная совместимость.

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