ext 中的iconCls配置以及使用以及路径问题

article/2025/10/14 12:08:43

使用过Ext(http://www.extjs.com)的同志都应该知道,每一个组件(Component)在初始化的时候,都会有一个配置参数(Config){在Ext2中,基本上所有的组件的构造函数只接受一个参数,这个参数或者是一个Config Object或都是一个Array of Config Object},其中,许多组件,如Menu,Button都有一个配置选项iconCls,很明显,这个是用来配置按钮等的图标的,所以假设我们要初始化一个Button,我们在JS里这样写:

Java代码   收藏代码
  1. var button = new Ext.Button({   
  2.         text: "Hello",   
  3.         iconCls: "hello-button"   
  4. });   

 

 

然后我们再在CSS中写下如下规则:

Java代码   收藏代码
  1. .hello-button {   
  2.         background: url(images/hello.png) left top no-repeat;   
  3. }   

 

 

 

 

把JS和CSS文件都正确的引入到页面当中后,我们只能看到按钮上空出来了一个放置图片的位置,而图片并没有显示出来,通过使用Firebug(http://www.getfirebug.com)来查看页面,通过Inspect我们生成的按钮的Style,我们发现CSS规则hello-button被Ext原有的CSS规则覆盖掉了。但是官方给的Sample里是可以用的啊,查看Sample里的CSS,我发现它比我写的多了一行字,!important,然后,我把我原有的CSS规则修正为:

Java代码   收藏代码
  1. .hello-button {   
  2.         background: url(images/hello.png) left top no-repeat !important;   
  3. }   

 

 

 

Bingo~这次图片正确的显示在了按钮上。

当然,按照官方的API,你还有另外一种在按钮上添加图标的方法,将button的Config如下设置:

Java代码   收藏代码
  1. var button = new Ext.Button({   
  2.         text: "Hello",   
  3.         icon: "images/public.gif",   
  4.         cls: "x-btn-text-icon"   
  5. });  

 

这样做的坏处在于,你必须将图片的位置写入到JS里,没有将表现的部分从JS里脱离,如果使用第一种方法的话,可以更容易的更改某个按钮的图标。

 

下面是ext使用iconCls的路径问题:

在我的这个项目开发中,有时候总遇到图片无法显示的问题。

Javascript脚本文件,Css样式文件的图片路径问题总是一大难题。因为在js脚本和css文件里我不知该如何像jsp页面一样采用<%=request.getContextPath()%>获取项目根路径。

所以针对Css中图片路径问题总结如下:

 

1、不要给背景图片路径加引号
将background:url("xxx.gif")改为background:url(xxx.gif)
因为对于部分浏览器加引号反而会引起错误。 

2、背景图片的路径是相对与当前css页面的路径。

例如:
有如下目录结构

Java代码   收藏代码
  1. |--images  
  2.     |--xxx.gif  
  3. |--css  
  4.     |--xx.css  
  5. |--index.html  

 

 

 

 代码内容
index.html引用xx.css文件。<link rel="stylesheet" href="css/xx.css" />
xx.css要引用xxx.gif图片其写法为:background:url(../images/xxx.gif)

3、我们通常用link的方法直接引用一个CSS文件到HTML(或其它活动文档)文件中。我们会发现有时候我们的图片无法显示了。此时,请查看你的CSS代码,是不是重复设置有问题,是不是图片的定位有问题。如果这些都没有问题请去掉background的重复与定位属性,还原成默认性。如果图片还是没有出现,那只能是我们今天所说的路径问题了!在一般情况下,我们习惯于这样设置图片路径:

 

Java代码   收藏代码
  1. Example Source Code:  
  2.     background-image:url(logo.jpg);  
  3.        background-image:url(../logo.jpg);  
  4.        background-image:url(../images/logo.jpg);  

 

 对于第一种情况“url(logo.jpg)”。我们要看此图片是不是与CSS文件在同一目录。对于第二与第三种情况,我们是极力不推荐使用的,因为我们的网页文件可能存在于多级目录中,不同级目录的文件位置注定了我们的相对路径是不一样的。而这样就让问题复杂化了,很可能图片在这个文件中显示正常,换了一级目标,图片就找不到影子了。
  有一种方法可以轻松解决这一问题,我们可能建立一个公共文件目录,用来存放一些公用的图片文件,JS脚本,CSS文件,例如“common”,我们将CSS文件直接置于该目录中,也可以将图片文件也直接存于该目录中,如果图片文件较多在其内部建立一个目录存放图片文件“common/images”。我们在CSS文件中直接写:url(logo.jpg)或url(images/logo.jpg)就可以搞定上面的问题了。

 

关于网站文件的归类与存放,除了根据个人习惯,还要考虑科学性。如果是大型的项目,你应该遵循团队的约定,不然这些问题是够头疼的!

 

 

 资料来源:

http://icrwen.iteye.com/blog/392658
http://stta04.iteye.com/blog/377692


http://chatgpt.dhexx.cn/article/UdAUvW4s.shtml

相关文章

EXT iconCls说明

今天学习ext 看examples中的事例&#xff0c;其中有一个地方是这样写的&#xff1a; new ButtonPanel( Icon Only, [{ iconCls: add16 },{ iconCls: add24, scale: medium },{ …

cls extjs5_73. 解决ExtJS TreePanel 的 iconCls设置问题

转自&#xff1a;https://blog.csdn.net/hanchuang213/article/details/62881568 很久没有写代码了&#xff0c;最近在做一个在线帮助网站&#xff0c;于是又捡起了 ExtJS&#xff0c;我用 TreePanel 做为左边栏的导航树&#xff0c;我希望能够根据节点指向的内容来定义节点的图…

常规功能和模块自定义系统 (cfcmms)—025开发日志(创建iconCls的field)

常规功能和模块自定义系统 (cfcmms)—025开发日志(创建iconCls的field) 这一节是临时插入的工作日志。 在本系统中可以自定义某些图标&#xff0c;图标的样式都是手工录入的&#xff0c;为了能直观的选择iconCls中的图标&#xff0c;开发了此控件。extjs中内置了font-awesome字…

UniGui中使用IconCls

在使用UniGui的时候&#xff0c;我时候我们需要使用系统自己的图标&#xff0c;通常会如下图一样的使用方式&#xff1a; 选择ICON对齐方式及系统定义好的ICON对应值。但实际上UniGui中可以使用的图标远远大于他已定义的这十几个&#xff08;或者应该说是EXJS原本就多&#xff…

UniGui iconCls字符图标的引用

游览unigui官方论坛&#xff0c;发现了iconCls字符图标的引用功能&#xff0c;测试了一下&#xff0c;很好用。 引用格式&#xff1a;iconCls: {fontCls} {iconPrefix}-{iconName} 例子&#xff1a;iconCls: x-fa fa-home

Easyui-iconCls 的队应图标

(iconCls : ‘icon-cancel’,)(iconCls : ‘icon-add,)(iconCls : ‘icon-edit,) (iconCls : ‘icon-remove,)(iconCls : ‘icon-save,)(iconCls : ‘icon-cut,) (iconCls : ‘icon-ok,)(iconCls : ‘icon-no,)(iconCls : ‘icon-reload,) (iconCls : ‘icon-search,)(iconC…

easyui iconCls属性值

easyui iconCls属性值 icon-add icon-print icon-mini-add icon-cvs icon-play icon-refresh icon-edit icon-help icon-mini-edit icon-pencil icon-remove icon-undo icon-mini-refresh icon-save icon-redo icon-cut icon-back icon-ok icon-sum icon-no icon-tip ico…

拓展07-EasyUI自定义iconCls菜单图标icon

1、效果图 左侧菜单树&#xff0c;和选项卡tabs显示自定义图标。 先推荐一个icon图标下载的网站&#xff1a;https://www.easyicon.net/ 2、iconCls属性 3、准备图标icon 可以从上面推荐的网址下载&#xff0c;基本上各种类型都有 将下载好的图标放入easyui图标文件夹内web…

EXTJs 中icon 与iconCls的区别及用法!

1、这俩个都是引入小图片 区别在于&#xff1a; (1)、icon :"直接写图片在项目上的路径" (2)、iconCls:"css样式名称" icon 显示时为下面的添加&#xff1a; iconCls 显示为下面的添加&#xff1a; 大家都看到区别了吧&#xff01; 2、iconCls代码&…

分类算法之二——特征提取与特征选择

典型应用——文本分类 1&#xff09;文本信息的表示&#xff0c;从原始的文本转化为结构化的可处理信息&#xff1b; 2&#xff09;目前常采用向量空间模型来描述文本向量&#xff0c;通常文本向量维度较高&#xff0c;使得分类效率低下&#xff1b; 3&#xff09;必须对特…

机器学习5种特征选择的方法!

我们知道模型的性能会随着使用特征数量的增加而增加。但是&#xff0c;当超过峰值时&#xff0c;模型性能将会下降。这就是为什么我们只需要选择能够有效预测的特征的原因。 特征选择类似于降维技术&#xff0c;其目的是减少特征的数量&#xff0c;但是从根本上说&#xff0c;它…

特征选择算法分类

坊间常说&#xff1a;“数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已”。由此可见&#xff0c;特征工程在机器学习中占有相当重要的地位。在实际应用当中&#xff0c;可以说特征工程是机器学习成功的关键。 首先&#xff0c;从特征开始说起&am…

特征选择基本思想与relieff算法

特征选择 如果特征参数不足&#xff0c;则很容易引发数据重叠的现象&#xff0c;所有分类器都将不起作用&#xff1b;如果特征参数太多&#xff0c;则可能会消耗大量时间和计算资源。特征选择可以通过消除冗余的特征来提高分类算法的准确性&#xff0c;并减少其计算复杂度。特…

特征选择算法总结

1 综述 (1) 什么是特征选择 特征选择 ( Feature Selection )也称特征子集选择( Feature Subset Selection , FSS ) &#xff0c;或属性选择( Attribute Selection ) &#xff0c;是指从全部特征中选取一个特征子集&#xff0c;使构造出来的模型更好。 (2) 为什么要做特征选择 …

特征选择算法 | Matlab实现基于互信息特征选择算法的回归数据特征选择 MI

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 特征选择算法 | Matlab实现基于互信息特征选择算法的回归数据特征选择 MI 部分源码 %--------------------

如何进行特征选择?

特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。 特征选择主要有两个功能: 减少特征数量、降维,使模型泛化能力更强,减少过拟合增强对特征和…

用遗传算法进行特征选择

文章目录 一、问题举例二、算法描述1、基于类内类间距离的可分性判据2、遗传算法&#xff08;Genetic Algorithm&#xff09;1) 初始化种群2&#xff09;计算当前种群 M&#xff08;t&#xff09;中每条染色体的适应度值 f&#xff08;m&#xff09;3&#xff09;基于适应度值的…

特征选择-常见的搜索算法

2.2.1完全搜索 完全搜索分为穷举搜索(Exhaustive)与非穷举搜索(Non-Exhaustive)两类。 (1) 广度优先搜索( Breadth First Search ) 算法描述&#xff1a;广度优先遍历特征子空间。 算法评价&#xff1a;枚举了所有的特征组合&#xff0c;属于穷举搜索&#xff0c;时间复杂度是O…

【特征选择】使用遗传算法进行特征选择

遗传算法寻优 cross_val_score(lgb,train_X,train_y,scoringf1,cvsKfold).mean() # 使用全部特征进行训练0.8508040614085857train_1 train.drop(label,1) cols train_1.columnstrain_1.head()经营期限起是否广告经营是否城镇从业人数注册资本&#xff08;金&#xff09;实…

特征选择 ReliefF算法

一、算法 Relief算法最早由Kira提出. 基本内容&#xff1a;从训练集D中随机选择一个样本R, 然后从和R同类的样本中寻找k最近邻样本H&#xff0c;从和R不同类的样本中寻找k最近邻样本M&#xff0c; 最后按照公式更新特征权重. 算法: 1.置0所有特征权重 2.For i1 to m do 2.1 随机…