我正在制作类似于 WEBapp 的 GraphPaper 并注意。
<?xml version="1.0" encoding="utf-8"?>
<s:Application name="test2"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<mx:Button width="500" height="500" />
</s:Application>
可以做大方形的Button。
但是
<?xml version="1.0" encoding="utf-8"?>
<s:Application name="test2"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Style>
@namespace mx "library://ns.adobe.com/flex/mx";
mx|Button {
width: 500;
}
</fx:Style>
<mx:Button />
</s:Application>
这行不通
和
<?xml version="1.0" encoding="utf-8"?>
<s:Application name="test2"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Style>
@namespace mx "library://ns.adobe.com/flex/mx";
mx|Button {
fontSize: 500;
width: 500;
}
</fx:Style>
<mx:Button label="test" />
</s:Application>
可以扩展按钮宽度“与文本宽度相似”。
因此我预测Button的宽度可以通过fontSize或者icon来定义。 按钮本身的宽度不能从外部改变。 但是内联CSS只能不规则地改变Button的宽度。
我认为这是 Adobe 的错误。您如何看待这个问题?您对这个问题有所了解吗?
最佳答案
我可能会被纠正,但我相信内联 CSS 在 StyleManager
上运行以使用 ISimpleStyleClient
接口(interface)将操作传递给 SkinClass
。 IE 使用 .getStyle()
和 .setStyle()
函数。高度和宽度不是 StyleManager
的一部分,它们是 DisplayObject
的属性。
MXML 允许您内联混合调用类属性和皮肤/样式属性,但 CSS 不允许
关于css - 你知道这个奇怪的事情吗? "AS3, Button width cannot change by setStyle(). However, inline CSS can change width.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20737411/