Flash Builder 创建CSS
1.global 选择器将样式应用于所有控件
在 Flash Builder 中创建新MXML 文件并切换到设计模式
属性视图右侧的外观视图可更改外观
Flash Builder 自动创建CSS 文件
CSS 文件有2 个命名空间:
§ s 指 Spark 组件
§ mx 指 MX 组件
1. Global 与Application 选择器
global {color: #009900; fontSize: 12; }
Application 选择器 § 应用程序容器是Flex 应用程序中最上面的容器
§ 应用于 Application 容器的所有样式也都应用于其所有子容器和子类
§ 所有 Spark 样式都是可继承的
§ 任何 Spark 样式都可以使用Application 选择器来应用
§ 一些 MX 样式是不可继承的
§ 使用 Application 选择器应用可继承的MX 样式
s|Application {color: #FFFF00; fontWeight: bold; fontFamily: Arial; fontSize: 22; }
mx|Application {color: #FF0000; fontWeight: bold; fontFamily: Verdana; fontSize: 18; }2.定义组件的外观和样式
CSS 在styleName 属性中支持多个类选择器类选择器列表使用空格分隔
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/halo";
s|Button.redText {color:#FF0000; }
s|Button.fontType {font-family:"Courier"; }
<s:Button label="Send Email" styleName="redText fontType"/>
3.自定义组件选择器
CSS 支持自定义命名空间(其中com.mycompany为自定义组件的包路径)
@namespace comp "com.mycompany.*";
通过 CSS 应用组件外观
mx|Menu {
skin: ClassReference(null);/*把預設skin設為null*/
skinClass:ClassReference("com.MenuStyle"); }
package com
{
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.filters.DropShadowFilter;
import flash.geom.Matrix;
import mx.skins.halo.HaloBorder;
public class MenuStyle extends HaloBorder
{
public function MenuStyle()
{
super();
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth,unscaledHeight);
var dropShadow:DropShadowFilter = new DropShadowFilter();
dropShadow.color=0x000000; //设置投影
dropShadow.alpha=0.25; //阴影颜色的 Alpha 透明度值。
dropShadow.blurX=0; //水平模糊量。
dropShadow.blurY=10; //重置模糊量
dropShadow.angle=90; //阴影的角度。
dropShadow.distance=4; //阴影的偏移距离,以像素为单位。
filters=[dropShadow];
var w:Number = this.width;
var h:Number = this.height;
var fillType:String = GradientType.LINEAR; //渐变类型--直线
var color:Array = [0xE2E2E3,0xFFFFFF]; //渐变颜色
var alphas:Array = [80,100]; //colors 数组中对应颜色的 alpha 值数组
var ratios:Array = [0xE2, 0xFF];
var matr:Matrix = new Matrix();
matr.createGradientBox(22,22,0,0,0);
var spreadMethod:String = SpreadMethod.PAD;
graphics.beginGradientFill(fillType,color,alphas,ratios,matr,spreadMethod);
graphics.drawRect(0,0,w,h);
graphics.endFill();
}
}
}
高级CSS 选择器
派生选择器
- 派生选择器
- 支持派生的多选择器
在下列代码中,color 属性将仅影响Panel 容器中的 Button 控件
Panel Button { color: #CCCCCC; }
在下列代码中,fontSize 属性将仅影响ViewStack 容器(位于Panel 容器中)中的Label 控件
Panel ViewStack Label { fontSize: 12; }
id 选择器
CSS id 选择器匹配满足一种id 条件的组件
id 选择器与组件的具体实例绑定
声明 id 条件的 CSS 语法使用# 作为 id 的前缀
#submitButton { color: #CCCCCC; }
通过在特定组件上设置id 属性满足 id 条件
<s:Button id="submitButton" />
不可以将id选择器与其他选择器组合使用
Panel Button#submitButton { color: #999999; }
具有id选择器的id
Button#submitButton { color: #999999; }
类选择器
类选择器定义样式(或类)集,可将它们应用于任何组件
在 CSS 中,首先创建类选择器并定义其样式
.header { color: #CCCCCC; }
然后使用styleName 属性应用样式,无需对MXML 组件使用前导点
<s:Panel styleName="header"> <s:Label text="Employee Information" /> </s:Panel>
类选择器可与组件选择器组合使用
s|Panel.header { color: #FF0000; }
类选择器可应用于多个组件
伪选择器
CSS 伪选择器根据其它条件匹配组件
条件可以是动态的
条件可能不能被文档树定义
只有在指定的状态中,才能使用伪选择器将样式应用于组件
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/halo";
s|Button:up { color: #FFFFFF; chromeColor: #555555; }
可以定义通用的伪选择器
:up { color:#FF9933; }
s|Button:up { color: #FFFFFF; chromeColor: #555555; }
s|Button:over { color: #000000; chromeColor: #D9E028; }
s|Button:down { color:white; chromeColor: black; }
Flash Builder 创建CSS的更多相关文章
- Flash Builder 4.7 注册机完美激活方法
Flash Builder 4.7 破解注册方法目前较为通用的三种方法: 第一种:三步修改配置文件方法,这种有开发者反应这种方法在升级和创建纯 AS 项目时会存在问题,但我懒的去试这种方法的主要原因是 ...
- 使用 Flash Builder 的 Apple iOS 开发过程
使用 Flash Builder 的 Apple iOS 开发过程 iOS 开发和部署过程概述 构建.调试或部署 iOS 应用程序前的准备工作 在测试.调试或安装 iOS 应用程序时选择的文件 将 ...
- 升级Flash Builder 4.6中的Flash Player版本
测试有效 本人按此方法升级到了flash player 15 Adobe自发布Flash Builder 4.6后,就暂停了Flash Builder新版本的发布.但AIR和FlashPlayer版本 ...
- Apache Flex + Adobe Flash Builder环境配置
在开始学习Flex之前,需要配置开发环境.Apache Flex SDK包含了你开发所需要的东西,当然除了集成开发环境(Integrated Development Environment,IDE). ...
- Adobe Flash Builder 4.7 新功能详解
Adobe Flash Builder 4.7 Beta终于公开测试了.虽然版本号只增加了.1,增强的新功能可是一点也不含糊.我们一起来看看到底有什么新功能吧! 在我看来,最大的改变是终于提供64 ...
- Flash Builder 4的快捷方式和调试技巧
Flash Builder 4的快捷方式和调试技巧 来自于flex开发人员中心:http://www.adobe.com/cn/devnet/flex/articles/flashbuilder_sh ...
- [转]升级Flash Builder 4.6中的Flash Player版本
Adobe自发布Flash Builder 4.6后,就暂停了Flash Builder新版本的发布.但AIR和FlashPlayer版本仍然保持不断的更新.在下载新的AIRSDK并覆盖到Flash ...
- Adobe Flash builder破解方法
Flash Builder 4 有许多新的特性,可以结合新的功能使用新的Flex 4框架创建出更炫的应用.基于用户的反馈,对以数据中心的开发也进行了优化:对类如配置从服务器返回的数据类型这样的任务,也 ...
- [转]使用 Xcode 5 和 Interface Builder创建 Hello World App
转载地址:http://www.ithome.me/archives/581.html 使用 Xcode 5 和 Interface Builder创建 Hello World App 发表回复 当x ...
随机推荐
- 【HDOJ】5296 Annoying problem
LCA+RMQ.挺不错的一道题目. 思路是如何通过LCA维护费用.当加入新的点u是,费用增量为dis[u]-dis[lca(u, lower_u)] - dis[lca(u, greater_u)] ...
- 【转】Git详解之一:Git起步
原文网址:http://blog.jobbole.com/25775/ 原文:<Pro Git> 起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后 ...
- 建立自己的bin目录,在当前路径运行shell脚本
Shell脚本nusers cat nusers #! /bin/sh - who | wc -l 如果你要编写自己的脚本,最好准备自己的bin目录来存放它们,并且让Shell能够自动找到它们.这不难 ...
- Query Profiler 和Explain 用法详解
一.Query Profiler MySQL 的Query Profiler 是一个使用非常方便的Query 诊断分析工具,通过该工具可以获取一条Query 在整个执行过程中多种资源的消耗情况,如C ...
- LeetCode题解——Median of Two Sorted Arrays
题目: 找两个排序数组A[m]和B[n]的中位数,时间复杂度为O(log(m+n)). 解法: 更泛化的,可以找第k个数,然后返回k=(m+n)/2时的值. 代码: class Solution { ...
- 【转载】解析提高PHP执行效率的50个技巧
1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手 ...
- ACM2123(一个简单的问题)
一个简单的问题 问题说明 在这个问题中,你需要做N * N的乘法表,就像样品.第第i 行和j 个列中的元素i和j的乘积(乘积). 输入 输入的第一行是一个整数C中表示测试用例的数量,然后C的测试用 ...
- leetcode@ [127] Word Ladder (BFS / Graph)
https://leetcode.com/problems/word-ladder/ Given two words (beginWord and endWord), and a dictionary ...
- 【poj2891】Strange Way to Express Integers
题意: 给出n个模方程x=a(mod r) 求x的最小解 题解: 这就是个线性模方程组的模版题- - 但是有一些要注意的地方 extgcd算出来的解x可能负数 要让x=(x%mo+mo)%mo 而且 ...
- HDU-4678 Mine 博弈SG函数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4678 题意就不说了,太长了... 这个应该算简单博弈吧.先求联通分量,把空白区域边上的数字个数全部求出 ...