В Adobe Flex 3 у меня есть HBox, содержащий изображение и метку:
<mx:HBox width="240" verticalAlign="top" horizontalGap="8">
<mx:Image width="46" source="@Embed(source='/assets/blah.swf')"/>
<mx:Label text="Blah."/>
</mx:HBox>
Моя цель - выровнять верхний край изображения и верхний край надписи (то есть верхний верхний регистр символов внутри надписи). Тем не менее, независимо от того, с какими свойствами и стилями я работаю, постоянный «отступ» (в кавычках, потому что paddingTop равен нулю) примерно в 6 пикселей остается над меткой, устанавливая его верхний край под изображением. Кто-нибудь знает почему?
Спасибо, Саймон
редактирование:
paddingTop не работает. Я вижу такое же поведение на этом:
<mx:HBox width="240" verticalAlign="top" paddingTop="0">
<mx:Canvas width="46" height="46" backgroundColor="red" paddingTop="0"/>
<mx:Label text="Blah." paddingTop="0"/>
</mx:HBox>
Я также убедился, что глобальная таблица стилей не мешает ни одному из этих классов.
изменить 2:
Из исходного кода mx.core.UITextField (Flex 3.2.0), который используется внутри Label, ll. 159
/*
The width and height of the TextField are 4 pixels greater than
the textWidth and textHeight.
*/
а также
public function get measuredHeight():Number
{
(...)
return textHeight + TEXT_HEIGHT_PADDING;
(...)
}
Затем я установил для paddingTop моего Label -4, и вуаля, проблема решена! Хотя это не совсем чистое решение ...