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
где реализовано как стили. Поэтому причина, по которой вы все еще можете их использовать, - это обратная совместимость.