flex – 寻找用AS3编写的CSS解析器
发布时间:2020-12-15 01:45:29 所属栏目:百科 来源:网络整理
导读:我需要 load and apply CSS at runtime in my Flex app.我知道adobe docs说你需要到 compile the CSS before loading it,但我想找到一个解决方法. 我知道你可以设置这样的个人风格: cssStyle = new CSSStyleDeclaration();cssStyle.setStyle("color","valid
我需要
load and apply CSS at runtime in my Flex app.我知道adobe docs说你需要到
compile the CSS before loading it,但我想找到一个解决方法.
我知道你可以设置这样的个人风格: cssStyle = new CSSStyleDeclaration(); cssStyle.setStyle("color","<valid color>); FlexGlobals.topLevelApplication.styleManager.setStyleDeclaration("Button",cssStyle,true); 我打算解析一个CSS文件并按上面的方式应用每个属性. 我想知道是否: > Adob??e有一个我可以使用的CSS解析器库 我知道adobe flex.text.StyleSheet类有一个CSS解析器,但我找不到一种方法来利用它. (有没有办法获得源代码?) 解决方法
编辑:此解决方案不起作用.从解析器中取出的所有选择器都将转换为小写.这可能适用于您的应用程序,但它可能不会……
我在这里留下这个答案,因为它可以帮助一些人寻找解决方案,并警告其他人这种方法的局限性. 虽然它不是为此而设计的,但可以使用StyleSheet类来解析CSS.我目前正在研究这种情况目前有多强大,但在大多数情况下它似乎都在起作用. public function extractFromStyleSheet(css:String):void { // Create a StyleSheet Object var styleSheet:StyleSheet = new StyleSheet(); styleSheet.parseCSS(css); // Iterate through the selector objects var selectorNames:Array = styleSheet.styleNames; for(var i:int=0; i<selectorNames.length; i++){ // Do something with each selector trace("Selector: "+selelectorNames[i]; var properties:Object = styleSheet.getStyle(selectorNames[i]); for (var property:String in properties){ // Do something with each property in the selector trace("t"+property+" -> "+properties[property]+"n"); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |