Flex中的CSS: (3)CSS会被编译器转换为什么样的AS代码--组合:s|Button#btn, .MyStyle

2023-12-07 05:50

本文主要是介绍Flex中的CSS: (3)CSS会被编译器转换为什么样的AS代码--组合:s|Button#btn, .MyStyle,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

解说:

s|Button#btn, .MyStyle 这种用逗号分隔形式的CSS定义体实际上是多个定义的组合。即

s|Button#btn

{。。。}

.MyStyle

{。。。}

 这种形式的定义称为:组合

 

test1.mxml

<?xml version="1.0" encoding="utf-8"?>
<!-- styles/SelectorsTest.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark">    <s:layout><s:VerticalLayout/></s:layout><fx:Style>@namespace s "library://ns.adobe.com/flex/spark";@namespace mx "library://ns.adobe.com/flex/mx";s|Button#btn,.MyStyle{font-size:20px;}</fx:Style><fx:Script><![CDATA[public function showSelectors():void {            var selectors:Array = styleManager.selectors;msg.text = "所有的选择器列表如下(" + selectors.length + ")\n";for (var i:int = 0; i < selectors.length; i++) {msg.text += "\n" + selectors[i];      }}]]></fx:Script>    <s:Group id="group1" width="511" height="396"><s:TextArea id="msg" x="1" y="28" width="100%" height="359"/><s:Button id="btn" label="Show Selectors" click="showSelectors()"/></s:Group><s:Group id="group2" width="511"><s:Button label="test" click="showSelectors()"styleName="MyStyle"/></s:Group>
</s:Application>


执行结果:

 

编译器自动生成代码:

        var conditions:Array;var condition:CSSCondition;var selector:CSSSelector;selector = null;conditions = null;conditions = [];condition = new CSSCondition("id", "btn");conditions.push(condition); selector = new CSSSelector("spark.components.Button", conditions, selector);// spark.components.Button#btnstyle = styleManager.getStyleDeclaration("spark.components.Button#btn");if (!style){style = new CSSStyleDeclaration(selector, styleManager);}if (style.factory == null){style.factory = function():void{this.fontSize = 20;};}selector = null;conditions = null;conditions = [];condition = new CSSCondition("class", "MyStyle");conditions.push(condition); selector = new CSSSelector("", conditions, selector);// .MyStylestyle = styleManager.getStyleDeclaration(".MyStyle");if (!style){style = new CSSStyleDeclaration(selector, styleManager);}if (style.factory == null){style.factory = function():void{this.fontSize = 20;};}


 

 

可见,这种形式定义的CSS和分开定义的结果是完全相同的。

这篇关于Flex中的CSS: (3)CSS会被编译器转换为什么样的AS代码--组合:s|Button#btn, .MyStyle的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464719

相关文章

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获

利用Python在万圣节实现比心弹窗告白代码

《利用Python在万圣节实现比心弹窗告白代码》:本文主要介绍关于利用Python在万圣节实现比心弹窗告白代码的相关资料,每个弹窗会显示一条温馨提示,程序通过参数方程绘制爱心形状,并使用多线程技术... 目录前言效果预览要点1. 爱心曲线方程2. 显示温馨弹窗函数(详细拆解)2.1 函数定义和延迟机制2.2

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

使用C#实现将RTF转换为PDF

《使用C#实现将RTF转换为PDF》RTF(RichTextFormat)是一种通用的文档格式,允许用户在不同的文字处理软件中保存和交换格式化文本,下面我们就来看看如何使用C#实现将RTF转换为PDF... 目录Spire.Doc for .NET 简介安装 Spire.Doc代码示例处理异常总结RTF(R

Springmvc常用的注解代码示例

《Springmvc常用的注解代码示例》本文介绍了SpringMVC中常用的控制器和请求映射注解,包括@Controller、@RequestMapping等,以及请求参数绑定注解,如@Request... 目录一、控制器与请求映射注解二、请求参数绑定注解三、其他常用注解(扩展)四、注解使用注意事项一、控制