当前位置: 首页 > news >正文

B/S端界面控件DevExtreme中文使用指南——如何自定义图标

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。

在本文中,我们将为大家介绍如何使用DevExtreme组件来自定义图标,欢迎下载最新版组件体验!

DevExtreme v22.2正式版下载(q技术交流:600715373)DevExtreme v22.2正式版下载

自定义图标

由于DevExtreme图标是作为图标字体发布的,因此可以使用与自定义文本内容相同的CSS属性对它们进行自定义:颜色、字体大小、字体粗细、文本对其等,这对于UI组件中使用的图标是正确的...

jQuery

HTML

<div id="saveButton"></div>

JavaSciprt

$(function() {
$("#saveButton").dxButton({
icon: "save",
text: "Save"
});
});

CSS

#saveButton .dx-icon {
font-size: 24px;
color: blue;
}

ASP.NET MVC Controls

... 以及用于任何其他HTML元素的图标:

HTML

<i class="dx-icon-email dx-icon-custom-style"></i>

CSS

.dx-icon-custom-style {
font-size: 24px;
color: blue;
}

dx-icon是一个CSS类,当DevExtreme UI组件将图标元素呈现到DOM中时添加到图标元素中。开发人员不能用另一个名字来称呼它,然而对于其他HTML元素中的图标则不是这样的,在本例中,可以为类使用任何名称,如前一个示例所示。

自定义图像作为图标

UI组件的icon属性接受URL,因此开发人员可以将图像的URL分配给它,但是最好用Base64类型来编码图像,以减少传输的数据量,可以在网上搜索一个图像到Base64的转换器。

虽然Base64代码可以直接分配给icon属性,但我们建议将它放在CSS中,因为它的长度。将以下CSS规则添加到样式表中:

CSS

.dx-icon-customicon { // in Angular apps, add ::ng-deep before
background-image: url(data:image/png;base64,... LONG BASE64 CODE IS HERE ...);
background-repeat: no-repeat;
background-position: 0px 0px;
}

customicon这里是图标的名称,应该分配给UI组件的icon属性。

此外,开发人员还可以为UI组件元素的不同状态提供特定的图标变体,在下面的代码中,为选定的选项卡提供了一个特殊的图标:

CSS

.dx-tab-selected .dx-icon-customicon {
background-image: url(data:image/png;base64,... LONG BASE64 CODE GOES HERE ...);
background-repeat: no-repeat;
background-position: 0px 0px;
}

从前面的示例中选择的类(如dx-tab-selected)没有记录,检查CSS规则,找出哪些类被添加到正在定制的UI组件元素中。

外部图标库

UI组件中的图标作为<i>元素插入到DOM中,当开发人员设置一个UI组件的icon属性时,它的值被用来形成<i>元素的class属性,例如,下面的代码…

icon: "home"

... 渲染到DOM,如下所示:

HTML

<i class="dx-icon dx-icon-home"></i>

这允许DevExtreme UI组件支持来自外部图标库的图标,前提是它们也应该在class属性中指定。

Font Awesome、Glyphicons和Ionicons就是这样的库的例子,按照你想要使用的库的安装教程,按如下方式设置图标属性:

jQuery

JavaScript

$(function() {
$("#homeButton").dxButton({
icon: "fas fa-home" // Font Awesome 5
icon: "fa fa-home" // Font Awesome 4
icon: "glyphicon glyphicon-home" // Glyphicons
icon: "icon ion-md-home" // Ionicons
});
});

ASP.NET MVC Controls

Razor C#

@(Html.DevExtreme().Button()
.Icon("fas fa-home") // Font Awesome 5
.Icon("fa fa-home") // Font Awesome 4
.Icon("glyphicon glyphicon-home") // Glyphicons
.Icon("icon ion-md-home") // Ionicons
)

SVG图标

除了字体图标外,DevExtreme还以SVG格式提供了相同的图标,开发人员可以再GitHub上的DevExtreme存储库中找到SVG图标。

下面的代码使用了Button UI组件中的SVG图标,同样的技术可以用于任何其他具有icon属性的UI组件。

1. 使用图标的URL:

JavaScript

new DevExpress.ui.dxButton(targetElement, {
icon: "https://path/to/the/icon.svg"
});

2. 插入SVG内容inline:

JavaScript

new DevExpress.ui.dxButton(targetElement, {
icon: "<svg>SVG_CONTENT</svg>"
});

3. 导入图标:

JavaScript

import * as myIcon from "./assets/icon.svg";
new DevExpress.ui.dxButton(targetElement, {
icon: myIcon
});

重要提示:SVG格式允许运行可能是恶意的可执行代码,我们强烈建议您只使用可信来源的SVG图标。

相关文章:

  • Django中继承父模版时子模板未继承父模板中的动态数据
  • 【多个IP地址用逗号分割开】vue简单实现,textarea文本域输入多个ip地址用逗号分隔开,根据空格分割
  • 【Linux专题】部署 NFS 4.2
  • Python基础库及机器学习笔记
  • 敏捷价值流管理
  • 文件操作:文件的使用打开关闭与读写(顺序读写)
  • Coinbase Vntures:Web3社交堆栈指南
  • 桌面文件不见了怎么恢复?
  • BHG Mall超级宠粉节攻略收藏,商业IP化出圈新玩法
  • 基于RSA的数字签名设计与实现
  • 《码出高效:java开发手册》六-数据结构与集合(一)
  • Anaconda开发环境
  • 品牌线上窜货治理方案
  • [第十二届蓝桥杯/java/算法]D——相乘
  • NewStarCTF公开赛week3密码学前两道题的wp
  • FOC算法与SVPWM技术
  • C++和Qt分别与HTuple之间相互转换
  • WPF使用快捷键 资源 输入快捷键与资源绑定 资源绑定调用操作 或keydown处理
  • HistoSeg:具有多损失函数的快速注意,用于数字组织学图像中的多结构分割
  • [洛谷]【深基16.例3】二叉树深度