论坛首页 编程语言技术论坛

坑爹呀!flex4中的css写法

浏览 9300 次
精华帖 (0) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-09   最后修改:2011-08-09
昨天在调整项目的界面,发现flex有个特别丑陋的东西,那就Alert。每次弹出的模态窗口下面都有一个蓝黑蓝黑的overlay,文字也被模糊,真叫一个难看。如图:

想去掉这个overlay,于是google。
有一说使用非模态窗,靠这肯定不行,还得一定是模态的。
想想还得从css入手,继续google,功夫不负有心人,终于找到一篇如何取消FLEX里模态窗口的毛玻璃效果,其中是这样写的:
引用
问:
LYU-9 :
在Flex里面,比如使用
PopUpManager.createPopUp(this,TipWindow,false)
第三个参数设成true 会出现毛玻璃效果让CPU飙升,可不可以改变模态窗口的效果,不让毛玻璃出现?
答:
桃花奶奶 :
改下css样式就ok了。比如说我们用的是titlewindow,我们就改titlewindow中的:
modal-transparency-blur:0;
        modalTransparency:0;
问:LYU-9
那个Alert.show()是不是也可以改样式呢?
答:妖子 (6级)
一样的。这个是默认的Alert样式,你在代码里改就可以了。
        Alert
        {
         backgroundAlpha: 0.90; /* controls the alpha of the panel content area. */
         backgroundColor: #869CA7;
         borderAlpha: 0.90; /* controls the alpha of the panel top, bottom and sides. */
         borderColor: #869CA7;
.......
        }
这篇文章的结果就是使用Alert全局样式,然后设置modal-transparency-blur为0,modalTransparency为0。
Alert{
	modalTransparency:0;
	modal-transparency-blur:0;
}
坑爹呀你,靠有用吗!我以前做ToolTip的时候也这样说,定义一样式,有用吗,木用。还绕着弯到事件里面去定义ToolTip的样式。如图:

最后还是不效果,靠超级的郁闷中。。。


转折点
今天,无意中看到一篇将应用程序从Flex 3迁移至Flex 4(转载),随便拉拉看看,注意到文中提到一段Css代码:
s|Button, s|ToggleButton
{
    skin-class: ClassReference("controls.skins.IconButtonSkin");
}
注意其中这个s|Button,靠这个不就有一个命名空间的概念在里面。难道我的css样式写法也得这样。
马上回到自己的样式写上
mx|Alert{
	modalTransparency:0;
	modal-transparency-blur:0;
}
于是乎:

呵呵这个世界清静了!


最后,有个问题就是,在这个flex版本乱飞的年代,难道各位老大在写flex的css样式只是
Alert{
	modalTransparency:0;
	modal-transparency-blur:0;
}
这样的吗?
坑爹呀!

提醒初学者,使用组建方式写css时,记得带上命名空间。
如:ToolTip要写成mx|ToolTip(halo主题)或者是s|ToolTip(spark主题)


  • 大小: 31.2 KB
  • 大小: 18.7 KB
  • 大小: 17.3 KB
   发表时间:2011-08-09   最后修改:2011-08-09
试了一下
Alert{   
    modalTransparency:0;   
    modal-transparency-blur:0;   
} 


这样的写法完全能够达到预期的效果。
是不是没有添加对style的引用?
0 请登录后投票
   发表时间:2011-08-09   最后修改:2011-08-09
chenjingxys 写道
试了一下
Alert{   
    modalTransparency:0;   
    modal-transparency-blur:0;   
} 


这样的写法完全能够达到预期的效果。
是不是没有添加对style的引用?

flex环境是?如果是4.1的sdk试试。
0 请登录后投票
   发表时间:2011-08-10  
不错,楼主研究得非常仔细,Flex整个UI组件系统都非常Suck
0 请登录后投票
   发表时间:2011-08-18  
有没有谁自己弄一套开源的flex ui 库,等着用呢!!!!!!
0 请登录后投票
   发表时间:2011-08-18   最后修改:2011-08-18
kjj 写道
有没有谁自己弄一套开源的flex ui 库,等着用呢!!!!!!

呵呵,我正在写一个flex的控件ui扩展,并不是完全的ui库,有时间可以交流交流。

还有这个新做的界面
  • 大小: 129.9 KB
0 请登录后投票
   发表时间:2011-08-19  
以前有个ASwing,不过最近没什么动静了。
不知各位对于mx系列组件和spark系列组件的混用有什么看法,你们目前在怎么用呢?
又是如何做扩展的呢?
Flex整个的UI设计都非常二逼
0 请登录后投票
   发表时间:2011-08-19   最后修改:2011-08-19
damoqiongqiu 写道
以前有个ASwing,不过最近没什么动静了。
不知各位对于mx系列组件和spark系列组件的混用有什么看法,你们目前在怎么用呢?
又是如何做扩展的呢?
Flex整个的UI设计都非常二逼

呵呵,Flex整个的UI设计的确很二!

我扩展的方法就是:
1、基于css的调整和编写xxxSkin类调整外观(此Skin不是编写flex的皮肤)
2、编写自己的组件模型,使用自己的组件库(非继承Flex原有的组建)
这个就是通过css加上Skin类调整出来的Ext的Window组件(基于mx的TitleWindow)


  • 大小: 47.4 KB
  • 大小: 116 KB
0 请登录后投票
   发表时间:2011-08-26  
在css文件头部放入
@namespace s "library://ns.adobe.com/flex/spark";
@namespace "" "library://ns.adobe.com/flex/mx";
让mx成为默认空间,就能写成
Alert{    
    modalTransparency:0;    
    modal-transparency-blur:0;    
}  
0 请登录后投票
   发表时间:2011-10-07  
关键是flex 的版本问题
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics