Flex 4 beta中的视口和滚动功能介绍
flex菜鸟教程

flex菜鸟教程Flex布局是一种新的CSS3布局模式。
它可以灵活地对容器中的子元素进行排列和定位。
通过使用一些简单的属性和属性值,我们可以轻松实现复杂的布局效果。
Flex容器是指应用Flex布局的父元素。
要使一个容器成为Flex容器,我们只需设置其display属性为flex或inline-flex。
例如:```.container {display: flex;}```Flex容器中的子元素即为Flex项目。
Flex项目可以利用一些属性来实现弹性的布局。
以下是一些常用的属性:1. flex-direction: 用于设置Flex项目在Flex容器中的排列方向,可以取值为row、row-reverse、column或column-reverse。
2. justify-content: 用于设置Flex项目在主轴上的对齐方式,可以取值为flex-start、flex-end、center、space-between或space-around。
3. align-items: 用于设置Flex项目在交叉轴上的对齐方式,可以取值为flex-start、flex-end、center、baseline或stretch。
4. flex-grow: 用于设置Flex项目在剩余空间中拉伸的比例,默认为0,即不拉伸。
5. flex-shrink: 用于设置Flex项目在空间不足时收缩的比例,默认为1,即都等比例收缩。
通过灵活地组合和调整这些属性,我们可以实现复杂的布局效果,如等分、自适应等。
除了以上属性外,Flex布局还有很多其他的属性和技巧可以掌握。
现在,你已经对Flex布局有了基本的了解,可以继续深入学习并应用到实际项目中了。
祝你学习愉快!。
flex教程系列四

了解提示点可在编码期间将提示点嵌入Adobe F4V 或FLV 视频文件。
过去,在影片中嵌入提示点是为了给放映员提供了一个可视信号,以指出胶片盘中的胶片即将放完。
在Adobe F4V 和FLV 视频格式中,提示点的作用在于:当视频流中出现提示点时,在应用程序中触发一个或多个其他动作。
您可以对Flash 视频使用几种不同类型的提示点。
可以使用ActionScript 与在创建视频文件时嵌入其中的提示点进行交互。
• 导航提示点:您可以在编码视频文件时,将导航提示点嵌入到视频流和元数据包中。
使用导航提示点可以使用户搜索到文件的指定部分。
• 事件提示点:您可以在编码视频文件时,将事件提示点嵌入到视频流和元数据包中。
还可以编写代码来处理视频播放期间在指定点上触发的事件。
• ActionScript 提示点:ActionScript 提示点只对Flash FLVPlayback 组件有用。
ActionScript 提示点是您使用ActionScript 代码创建和访问的外部提示点。
您可以编写代码来触发这些与视频播放有关的提示点。
这些提示点的精确度要低于嵌入的提示点(最高时相差1/10 秒),因为视频播放器单独跟踪这些提示点。
如果您计划创建一个应用程序,希望用户能在其中导航至提示点,则应在编码文件时创建并嵌入提示点,而不应使用ActionScript 提示点。
您应将提示点嵌入FLV 文件中,因为这些提示点更加精确。
由于导航提示点会在指定的提示点位置创建一个关键帧,因此可以使用代码将视频播放器的播放头移动到该位置。
您可以在视频文件中设置一些希望用户搜索的特定点。
例如,视频可能会具有多个章节或段,在这种情况下您就可以在视频文件中嵌入导航提示点,以此方式来控制视频。
有关使用提示点对Adobe 视频文件进行编码的详细信息,请参阅《使用Flash》中的“嵌入提示点”。
您可以通过编写ActionScript 来访问提示点参数。
第9章 Flex 4系统组件:图表

χ
1.条形图 . Flex 4中使用BarChart组件创建条形图,使用BarSeries序列组件定义BarChart
Hale Waihona Puke 的数据。BarSeries的属性主要有以下几个。 (1)xField (2)yField (3)minField (4)fill (5)stroke
(1)指定数据源。 为BarChart组件指定数据源,本示例在<fx:Script>标签中使用ActionScript代码 定义一个ArrayCollection类型的变量barChartData作为显示的数据源。在 <s:Application>标签下添加如下代码: <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; [Bindable] private var barChartData:ArrayCollection = new ArrayCollection( [ { month: "Jan", profit:550, amount: 50}, { month: "Feb", profit:1000, amount: 110}, { month: "Mar", profit:680, amount: 80} ]); ]]> </fx:Script>
折线图的效果如图所示。 示例代码所示。
Flex使用PieChart组件创建饼图,使用PieSeries序列组件定义PieChart的数据。 根据数据源中的数据确定每个数值在圆饼上所占的份额。PieSeries组件常用的属性 如下所示。 (1)field (2)nameField (3)labelFunction (4)labelField (5)labelPosition (6)calloutStroke (7)radialStroke (8)fills (9)stroke
flex布局详解

flex布局详解flex布局详解说明flex 布局是CSS3中新增加的⼀套布局⽅案,属于⼀维布局模型。
flex提供了强⼤的空间分布和对齐能⼒。
想要理解和使⽤flex进⾏⽹页布局,需要先来学习和理解下⾯的⼏个概念:flex的两根轴线: 主轴和交叉轴flex容器和flex⼦元素基本概念的解释flex的两根轴线当使⽤flex进⾏布局的时候,⾸先需要了解的,就是flex的两根轴线:主轴和交叉轴。
为什么⼀定要理解这两个轴线呢,因为所有的flex属性都和这两根轴线有关系。
⼀般来说,元素在容器内部排列的顺序都是按照从左向右的顺序来进⾏排列的,⽽在flex中,决定元素排列的是主轴。
默认情况下flex中主轴上的元素排列⽅式和⾮flex情况下是⼀样的。
flex的特性,就是元素沿着主轴或者交叉轴进⾏排列。
flex容器和flex⼦元素想要使⽤flex布局⽅案,需要在容器属性上使⽤display:flex或者display:inline-flex。
⽽⼀旦设置了任意⼀个属性,那么这个标签就变成了flex容器,也可以称之为是弹性容器。
⽽相对应的,容器当中的⼦元素就变成了flex⼦元素也就是弹性⼦元素。
flex 的相应属性分类想要更⾼的学习和使⽤flex布局,需要了解flex中包含的属性。
⼀般来说,flex的属性可以分成两类:flex容器属性(flex-container)flex⼦元素属性(flex-item)所谓的flex容器属性就是将属性设置在flex容器上,⽽flex⼦元素则是将属性设置在⼦元素的⾝上。
flex容器属性flex-direction通过flex-direction属性,可以设置主轴的⽅向,它包括下⾯的⼏个值:row(默认值): 主轴为⽔平⽅向,项⽬排列起点在左端。
row-reverse: 主轴为⽔平⽅向,起点在右端。
column: 主轴为垂直⽅向,起点在上沿。
column-reverse: 主轴为垂直⽅向,起点在下沿。
弹性布局flex 介绍

弹性布局flex介冒
网页布局(layout)是CSS的一个重点应用。
布局的传统解决计划,基于盒状模型,依靠display属性+position属性+float属性。
它对于那些特别布局十分不便利,比如,垂直居中就不简单实现。
2009年,W3C提出了一种新的计划&mdash;-Flex布局,可以简便、完整、响应式地实现各种页面布局。
目前,它已经得到了全部扫瞄器的支持,这意味着,现在就能很平安地用法这项功能。
Flex布局将成为将来布局的首选计划。
本文介绍Flex布局的语法。
以下内容主要参考了下面两篇文章:ACompleteGuidetoFlexbox和
第1页:
AVisualGuidetoCSS3F1exboxProperties。
一、Flex布局是什么?
Flex是FlexibleBox的缩写,意为弹性布局,用来为盒状模型提供最大的灵便性。
任何一个容器都可以指定为Flex布局。
.box{display:flex;。
Flex介绍

客户端技术
OpenLaszlo
Mozilla XUL
HTML5
Silverlight
JavaFX
Flash/Flex
AJAX
Rich Client
什么是Flex
-- Flash for Developer
Flex 基于Flash Flex是为程序员设计的Flash Flex的开发语言:ActionScript、MXML、 CSS。 可以把Flex当作Flash
Mxml是flex的标记语言,用来描述界面,同Html非常相 似,而且mxml更加规范化和标准化。 Mxml最终会被编译器解析为Action Script,然后生成 flash的swf文件。
说白了,我们写的代码最终会编译成flash。 Mxml使用 Flex Sdk进行编译。
Flex VS. Ajax
Flex Ajax 开发效率 Flex SDK, 可视化开发, Javascript 和XML编写, 效率高 没有成熟IDE 编译执行,易于Debug FLASH VM (Flash Player)执行,独立于浏 览器,效率高 安装Flash Player即可, 各种平台下表现一致 编译后的二进制文件,隐 藏了程序实现细节 解释执行,脚本语言,不 容易Debug 浏览器解释执行,效率低 不同浏览器可能执行得不 同 脚本代码,易被偷窃,篡 改
运行形式
执行效率
移植性
安全性
Pros
很好的用户体验 跨浏览器,跨平台 开发者角度
易学 免费/开源 丰富的组件库 对多媒体的广泛支持( 76%的视频文件在使用Flash 技术构建 如youtube) 设计师(Flash)、开发人员(Flex)通过 ActionScript可以更有效的合作。
css中flex的作用

css中flex的作用
CSS中的flex属性是用来控制弹性盒子布局的关键属性。
弹性
盒子布局是一种灵活的布局模型,可以让元素在容器内动态排列,
并且能够适应不同屏幕尺寸和设备。
flex属性可以应用于容器元素(display: flex或display: inline-flex)以及子元素(flex 项),它有以下几个作用:
1. 控制子元素的伸缩性,通过设置flex属性的值,可以控制
子元素在父容器内的伸缩比例。
这样可以实现子元素的自适应布局,根据父容器的尺寸动态调整子元素的大小。
2. 控制子元素的排列顺序,使用flex属性可以改变子元素在
父容器内的排列顺序,实现灵活的布局效果。
通过设置order属性,可以改变子元素的默认排列顺序。
3. 控制子元素的对齐方式,flex属性可以控制子元素在主轴
和交叉轴上的对齐方式,包括对齐方式、换行方式等,使布局更加
灵活。
4. 控制子元素的空间分配,通过设置flex-grow、flex-
shrink和flex-basis属性,可以控制子元素在父容器内的空间分配,实现灵活的布局效果。
总之,flex属性在CSS中的作用是实现灵活的弹性盒子布局,使得元素可以根据不同的布局需求进行动态排列和伸缩,适应各种屏幕尺寸和设备。
通过灵活运用flex属性,可以实现丰富多样的布局效果,提升用户体验。
css弹性盒子(flex-direction、flex-wrap、flex-flow篇)

css弹性盒⼦(flex-direction、flex-wrap、flex-flow篇)⼀.什么是弹性盒⼦弹性盒⼦是 CSS3 的⼀种新的布局模式。
CSS3 弹性盒( Flexible Box 或 flexbox),是⼀种当页⾯需要适应不同的屏幕⼤⼩以及设备类型时确保元素拥有恰当的⾏为的布局⽅式。
引⼊弹性盒布局模型的⽬的是提供⼀种更加有效的⽅式来对⼀个容器中的⼦元素进⾏排列、对齐和分配空⽩空间。
⼆.CSS 弹性盒⼦内容弹性盒⼦由弹性容器(Flex container)和弹性⼦元素(Flex item)组成。
弹性容器通过设置 display 属性的值为 flex 或 inline-flex将其定义为弹性容器。
弹性容器内包含了⼀个或多个弹性⼦元素。
注意:弹性容器外及弹性⼦元素内是正常渲染的。
弹性盒⼦只定义了弹性⼦元素如何在弹性容器内布局。
弹性⼦元素通常在弹性盒⼦内⼀⾏显⽰。
默认情况每个容器只有⼀⾏。
以下元素展⽰了弹性⼦元素在⼀⾏内显⽰,从左到右:⽹页效果如下:三.CSS 弹性盒⼦常⽤属性属性描述flex-direction指定弹性容器中⼦元素排列⽅式flex-wrap设置弹性盒⼦的⼦元素超出⽗容器时是否换⾏flex-flow flex-direction 和 flex-wrap 的简写align-items设置弹性盒⼦元素在侧轴(纵轴)⽅向上的对齐⽅式align-content修改 flex-wrap 属性的⾏为,类似 align-items, 但不是设置⼦元素对齐,⽽是设置⾏对齐justify-content设置弹性盒⼦元素在主轴(横轴)⽅向上的对齐⽅式本篇博客先分享flex-direction、flex-wrap、flex-flow的使⽤:1. flex-direction 属性决定项⽬的⽅向。
注意:如果元素不是弹性盒对象的元素,则 flex-direction 属性不起作⽤。
属性值:值描述row默认值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flex 4中的视口和滚动功能介绍必备知识熟悉ActionScript、Flex3和基本的2D图形概念,将有利于理解本文内容。
用户级别中级必需产品Flash Builder (下载试用版)实例下载Download:Viewport.fxpFlex 4提供了接口IViewport(被所有可滚动组件实现)和组件Scroller(为视口添加滚动条,实现交互时的功能)。
这里所谓视口(viewport),即可滚动组件,要实现IViewport接口。
交互式滚动,是所有图形用户界面(GUI)工具的基本特性之一。
Flex 4之所以采用这种方法,是为了比Flex 3的实现更有效率,具体请参阅Spark与MX的比较。
在List和TextArea等很多Flex组件中,Scroller和视口均是它们皮肤的一个组成部分,无需开发者考虑如何实现滚动功能。
本文将介绍IViewport接口的工作原理,并提供一个简单的Scroller例子。
如果你想知道如何创建自己的交互式滚动组件,或需深入理解Flex 4中滚动特性的工作原理,请阅读本文。
滚动与视口概述GUI通过滚动,可以显示比用户屏幕空间更大的文档。
在Spark(Flex 4新增的组件和皮肤架构)中,IViewport接口定义了用一个矩形小裁剪窗口(clippingwindow)每次滚动一定距离、逐步展示大文档的具体行为。
这里所说“滚动”,是指改变与大文档关联的裁剪窗口的位置。
Spark中的Scroller组件为交互式滚动视口提供了一个通用的GUI。
它显示一对分别呈纵向和横向的滚动条,其滚动条的滑块位置定义了裁剪窗口的位置(X,Y)。
缺省情况下,滚动条仅在需要时才显示。
图1解释了IViewport接口的相关属性:width、height、contentWidth、contentHeight、horizontalScrollPosition和verticalScrollPosition及其几何结构。
如图1IViewport的几何结构和相关属性视口的contentWidth和contentHeight属性,定义了视口中内容被绘制时的横向和纵向最大尺寸。
width和height属性定义视口中部分内容的尺寸,即在屏幕上出现的内容的尺寸,或说视口的裁剪矩形窗口的大小。
horizontalScrollPosition和verticalScrollPosition属性则表示上述裁剪窗口的位置。
通过改变这些属性,应用程序可以实现视口的滚动。
Scroller类Spark的Scroller类是一个内置视口的容器,和Group和DataGroup组件相仿。
Scroller能显示纵向和横向滚动条,其滚动位置由视口的horizontalScrollPosition和verticalScrollPosition属性表示。
滚动条滑块的长度、滚动条最大长度由视口中内容的尺寸即contentWidth和contentHeight决定。
如下是一个简单的Scroller例子。
Scroller的视口是一个Group组件,Group又包含一个位于其中央的Image组件。
<?xml version="1.0" encoding="utf-8"?><s:Group xmlns:fx="/mxml/2009"xmlns:s="library:///flex/spark"xmlns:mx="library:///flex/mx" width="400" height="600"> <fx:Declarations><!--将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><s:Scroller width="300" height="400" horizontalCenter="0" verticalCenter="0"> <s:VGroup id="vp" width="100%" height="100%"><s:Image source="assets/331598.jpg"/></s:VGroup></s:Scroller></s:Group>这里还有一个经修改后更为复杂的例子,它可以显示视口几个属性的当前值如图2显示视口几个属性的当前值代码:<?xml version="1.0" encoding="utf-8"?><s:Group xmlns:fx="/mxml/2009"xmlns:s="library:///flex/spark"xmlns:mx="library:///flex/mx" width="400" height="600"><fx:Declarations><!--将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><s:Scroller width="300" height="400" horizontalCenter="0" verticalCenter="-50"> <s:VGroup id="vp" width="100%" height="100%"><s:Image source="assets/331598.jpg"/></s:VGroup></s:Scroller><s:VGroup left="50" top="475" width="300" gap="15"><s:Label text="viewport.contentWidth = {vp.contentWidth}"/><s:Label text="viewport.contentHeight = {vp.contentHeight}"/><s:Label text="viewport.horizontalScrollPosition ={vp.horizontalScrollPosition}"/><s:Label text="viewport.verticalScrollPosition = {vp.verticalScrollPosition}"/> </s:VGroup></s:Group>根据Scroller再次修改后的代码<?xml version="1.0" encoding="utf-8"?><s:Group xmlns:fx="/mxml/2009"xmlns:s="library:///flex/spark"xmlns:mx="library:///flex/mx" width="400" height="600"><fx:Declarations><!--将非可视元素(例如服务、值对象)放在此处 --></fx:Declarations><s:VGroup id="vp" width="300" height="400" horizontalCenter="0" verticalCenter="-50" clipAndEnableScrolling="true"><s:Image source="@Embed('assets/331598.jpg')"/></s:VGroup><s:VGroup left="99" top="474" gap="15"><s:Label text="viewport.contentWidth = {vp.contentWidth}"/><s:Label text="viewport.contentHeight = {vp.contentHeight}"/><s:Label text="viewport.horizontalScrollPosition ={vp.horizontalScrollPosition}"/><s:Label text="viewport.verticalScrollPosition = {vp.verticalScrollPosition}"/> </s:VGroup><s:VScrollBar viewport="{vp}" height="400" left="353" top="50"/><s:HScrollBar viewport="{vp}" width="309" left="50" top="452"/></s:Group>缺省情况下,Scroller仅在视口内容的尺寸大于视口实际尺寸时才显示滚动条。
当然,你也可以通过修改verticalScrollPolicy和horizontalScrollPolicy属性来改变滚动条显示策略。