`
ioryioryzhan
  • 浏览: 153492 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flex htmlText中使用css的简单方法

阅读更多

    在设置控件htmlText属性时,经常要涉及到设定样式,引用外部的css文件这种异步的方式用起来的确让人不顺畅。而flex中使用到的css通常都很小,所以有时候将样式直接写在代码里更简单。

    以TextArea为例,为htmlText赋值以前,可以先设置它的css样式,即TextArea.styleSheet属性。

    例如要添加的css样式为:

a:link{
     color:#0000ff;
     text-decoration:underline;
}

   将这样一个样式添加到styleSheet中去。做法很简单:

//.......
var alinkStyle:Object = new Object();
alinkStyle["color"] = "#0000ff";
alinkStyle[“textDecoration”] = "underline";
styleSheet.setStyle("a:link",alinkStyle);
//......

   tip:可以看到css中text-docoration变成了textDecoration了。

   我们可以设计一个静态函数将上面的过程一步到位:

public static  function addStyle(styleName:String,style:Object,styleSheet:StyleSheet):void{
			styleSheet.setStyle(styleName,style);
}

  有了这个函数,做上面的功能,就很easy了,而且看起来与css还挺像:

addStyle("a:link",
              {
                 "color":"#0000ff",
                 "textDecoration":"underline"
               },
              styleSheet);

   上个例子,应该就更清楚了:

 

代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()" width="300" height="300">
<mx:Script>
	<![CDATA[
		import mx.controls.TextArea;
		import flash.text.StyleSheet;
		
		private var textArea:TextArea = null;
		private var htmlText:String = null;
		
		/**
		 * 为一个StyleSheet添加一个样式
		 * 样式的名称为styleName
		 * 样式内容放在sytle中
		 */
		public static  function addStyle(styleName:String,style:Object,styleSheet:StyleSheet):void{
			styleSheet.setStyle(styleName,style);
		}
		
		internal function initApp():void{
			textArea = new TextArea();
			htmlText = "<font size='12'>" + 
					   "<b>我的<\/b>" + 
					   "<i>blog<\/i>和" + 
					   "<u>照片<\/u><br>" + 
					   "<\/font>" + 
					   "<a href='http://ioryioryzhan.iteye.com' target='_blank'>" + 
					   "ioryioryzhan.iteye.com" + 
					   "<img src='http://www.mjbox.com/r/io/ioryioryzhan/ZHANZHIHU.jpg'>" + 
					   "<\/a>";
			
			var my_css:StyleSheet = new StyleSheet();		
			//添加<a>标签的样式		
			addStyle("a:link",
			          {
			          	"fontSize":"12",
			            "color":"#0000ff",
			            "textDecoration":"none"			           
			          },
			          my_css);
			
			addStyle("a:hover",
			         { 
			           "fontSize":"12",
			           "color":"#ff0000",
			           "textDecoration":"underline"
			         },
			         my_css);
		    
			
			textArea.styleSheet = my_css;					
			textArea.htmlText = this.htmlText;
				
			textArea.width = 180;
			textArea.height = 180;
			addChild(textArea);
			textArea.x = 50;
			textArea.y = 50;
		}
		
	]]>
</mx:Script>	
</mx:Application>
 
分享到:
评论

相关推荐

    Flex课程学习(附带源码)

    1、flex 是开发swf方法的一种 2、flexBuilder基于eclipse的IDE集成Design、debug动态help 4j:ant脚本 3、flex framework visual components Manager classes RPC/Messaging/Data Service c Utilities 4、MxML ...

    es6-flex-masonry-grid:非常轻巧的ES6模块,用于在基于柔性的砖石布局中显示项目,而无需第三方依赖性。 网格布局使用CSS flexbox功能。 没有绝对定位。 偏移量是通过CSS转换样式(translateY)实现的

    ES6 Flex砌体网格 ES6模块,用于在基于柔性的砌体布局中显示项目,而没有第三方依赖性。 网格布局仅使用css flexbox功能。 与众所周知的砌体布局相反,没有绝对的定位,这使其可用于各种CSS框架。 使用简单的转换...

    H5+CSS3.zip

    css文本样式:使用text-decoration添加文本修饰,text-indent:2em添加首行缩进俩字符,line-height设置行间距,letter-spacing设置字符间距,word-spacing设置英文单词间距,text-align设置文本对齐方式;...

    详解CSS中的display:flex||inline-flex属性|56375.pdf

    介绍 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。...style type="text/css"&gt; .main{ width:200px; background-color: red

    css入门笔记

    独立于任何网页位置处,声明一个样式文件(.css为后缀),在文件中声明样式,在使用的网页中引入.css文件。 使用步骤: 1.创建样式表文件(.css) 2.在样式文件中编写样式规则 3.在网页中对样式文件进行引入 &lt...

    flex3的cookbook书籍完整版dpf(包含目录)

    在Flash中使用ContainerMovieClip创建Flex容器 21.3节.导入FlashCS3的组件 21.4节.认识Cairngorm小型结构 21.5节.创建Cairngorm视图、事件和模型 21.6节.创建Cairngorm命令和事务代理类 21.7节.创建...

    CSS for Windows 8 App Development

    Learn new CSS3 functionality such as flex boxes, grids, animation, and transforms Control your styles from JavaScript for really powerful interactions See the styles implemented by built-in controls ...

    【网页设计作业】Html Css Js 制作星巴克网页设计

    用html+css制作的简单网页,使用display:flex 进行布局 点击项目下面饮品,切换饮品logo与背景颜色 js代码 &lt;script type="text/javascript"&gt; function imgSlider(anything){ document.querySelector('....

    css3弹性盒子flex实现三栏布局的实现

    如题:高度已知,左右栏宽度300px,中间自适应: 弹性盒子本身就是并排的,我们设置宽度即可。 用一个容器container包裹三栏,设置comtainer容器的display属性为flex,左右栏设置宽度为300px...style type=text/css&gt;

    js css3实现图片拖拽效果

    本文实例为大家分享了css3实现图片拖拽效果的具体代码,供大家参考,具体内容如下 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;style type=...

    css实现元素垂直居中的常用方法(总结)

    方法1:table-cell html结构: 垂直居中 css: .box1{ display: table-cell; vertical-align: middle; text-align: center; } 方法2:display:flex .box2{ display: flex; justify-content:center; ...

    HTML_CSS_Mobile_Heimamm

    配置方案: 单独制作移动页面方案技术∶ 布局采取flex、rem、flexible.js、less初始化文件引入normalize.css lee中初始化body样式安装插件cssrem修改设定使用swiper插件下载拷贝这个文件到项目js资料夹找到合适的...

    css — > 使用scss生成常用的基本css样式

    在webpack中使用sass 安装sass和sass-loader $ npm i sass sass-loader 由于使用了脚手架,安装完毕后重启前端即可 样式重置 其实就是样式的初始化 // reset * { box-sizing: border-box; // 以边框为准. css3盒...

    Flexbox制作CSS布局实现水平垂直居中的简单实例

    Flexbox实现一个div元素在body页面中水平垂直居中: XML/HTML Code复制内容到剪贴板 &lt;!DOCTYPE html&gt;  &lt;html lang="en"&gt;...style type="text/css"&gt;  html { height: 100%; }  body

    Flexslider左右按钮的jQuery图片切换插件 v2.1.rar

    [removed] 3、在body标签中加入以下格式的html代码 &lt;div class="flexslider"&gt; &lt;ul class="slides"&gt; &lt;li&gt; &lt;img /&gt; &lt;p class="flex-caption"&gt;Caption, legend...&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;img /&gt; &lt;p class="flex-caption"&gt;...

    asp.net知识库

    在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库...

    HTML使用栅格布局实现六种筛子样式的代码详解

    style type=text/css&gt; .big { width: 100px; height: 100px; background: skyblue; display: flex; margin-top: 20px; } .small { width: 10px; height: 10px; ...

    JS学习笔记之闭包小案例分析

    本文实例讲述了JS学习笔记之闭包小案例。分享给大家供大家参考,具体...style type="text/css"&gt; *{ list-style:none; } ul{ display:flex; flex-wrap:wrap; } li{ width: 20%; text-align: center; } i

Global site tag (gtag.js) - Google Analytics