本站原创文章,转载请注明: 转载自zrong's Blog,原文 Flex不支持background-position属性的问题,欢迎使用文章源码进行转载。
本站转载文章会标明[转],转载请注明原始作者文章地址。
我在为一个HBox标签添加背景图像的时候碰到了问题。
虽然HBox的CSS属性支持中有background-position这个属性,并且支持top、left等位置,但是当我正确设定并编译swf之后,发现背景图像并不像我设置的那样排列,反而没什么变化。google了一下资料,找到了Flex cookbook上的解决办法:
CSS background-position
但是,这个办法在我的程序(Flex SDK 3.4)中并不管用,没办法,我还是只能用degrafa来实现了。degrafa是个优秀的矢量绘图引擎,使用它不仅能支持background-position,还能支持background-repeat(关于背景平铺,还可以看这篇文章)。
使用方法:
HBox { border-skin: ClassReference("com.degrafa.skins.CSSSkin"); background-image: Embed(source="windowroom/bg2.jpg"); background-position:top; background-repeat:no-repeat; } |
引入com.degrafa.skins.CSSSkin包后,编译的swf文件大小会增加51KB。如果对文件大小很在乎的话,还是去仔细研究一下Flex Cookbook中提供的方法好了。


从你这里得知道degrafa,下载下来看了一下,的确是个不错的东东,学习了。
关于平铺背景图片的问题,这里也有一个方法
http://www.cnblogs.com/kaixuan/archive/2009/11/27/1612254.html
确实,这个方法要简单多了。
请问com.degrafa.skins.CSSSkin 这个包在哪里下载?能否给个链接呀?谢谢!
上面是有下载链接的:http://www.degrafa.org/