ExtJS自定义主题(theme)样式详解

下面我来为你详细讲解“ExtJS自定义主题(theme)样式详解”的完整攻略。

一、什么是ExtJS主题(theme)?

在 ExtJS 中,主题 (theme) 可以定义应用程序的整体外观,例如字体、颜色、样式等元素。主题有自己的文件及文件夹,其中包含了 CSS, images以及其他资源。

通过使用主题,我们可以快速地创建一个自定义的漂亮应用程序。

二、如何实现ExtJS主题样式定制?

要实现ExtJS主题定制,我们需要做以下几个步骤:

1. 复制现有ExtJS主题文件夹

首先,我们需要复制一个现有的主题文件夹,例如默认主题 neptune:

cp -R ext-6.2.1/packages/neptune/classic/ custom_theme

2. 修改主题变量

在custom_theme/sass/var目录下,我们可以找到一些 sass 文件,这些文件定义了一些 ExtJS 变量,例如颜色、字体等。我们可以修改这些变量来定制主题。例如,我们可以在 custom_theme/sass/var/defaults文件中定义一些新的变量:

$base-color: #8B0000;
$background-color: #FFF;
$foreground-color: $background-color;
$panel-header-color: #2F4F4F;

这将会改变主要区域的颜色和涉及到的其他样式变量。

3. 构建主题

构建主题需要使用 Sencha Cmd。在 custom_theme 目录下执行以下命令:

sencha app build --theme=name --destination=build/

其中,--theme 名称为我们新建的主题名称,例如:

sencha app build --theme=custom_theme --destination=build/

4. 应用主题

构建主题成功后,在我们应用程序的 app.json 文件中添加以下代码:

"theme": {
    "extend": "custom_theme"
}

这样我们就成功的应用了我们自定义的主题。

三、主题示例

下面提供两个示例:

示例1:使用自己的图标

在 custom_theme/sass/src目录下,我们可以找到许多 sass 文件, 其中有一个叫做 ext-all.scss

在这个文件中,我们可以找到下面的代码片段:

$icon-font-url: '/packages/ext-theme-neptune/build/resources/ext-icons.ttf' !default;

这行代码表示 ExtJS 所使用的默认图标存储在 "ext-icons.ttf"这个字体文件中。

我们可以通过下载一个自定义的图标字体并将其存储在我们主题文件夹中来修改应用程序中的图标。

示例2:修改按钮样式

要更改按钮样式,我们可以在 custom_theme/sass/src/button目录下找到以下 sass 文件:

_ext-buttons.scss

在这个文件中,我们可以遵循 Sass 的继承规则轻松修改 ExtJS 默认按钮的样式,例如,更改按钮的背景色和字体:

.x-btn-base-custom {
    @extend .x-btn-base;

    background-color: #8B0000;
    color: #FFFFFF;
    border: 2px solid white;
}

以上就是 ExtJS 自定义主题样式详解的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ExtJS自定义主题(theme)样式详解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • css实现的漂亮的分页效果代码(橘黄色与蓝色)

    下面是CSS实现漂亮的分页效果的代码攻略。 准备工作 在开始之前,需要准备以下素材: 分页的HTML结构代码如下: <div class="paging"> <ul class="page-list"> <li class="page-item"><a hr…

    css 2023年6月9日
    00
  • 按照字体名称调用字体让浏览器显示你希望的字体

    为了让浏览器展示特定的字体,我们可以使用CSS的@font-face规则来调用自定义字体。在使用@font-face规则之前,我们需要先获取自定义字体文件。 获取自定义字体文件有两种方式。一种是直接从字体官网下载字体文件,另一种是使用字体转换工具(如Font Squirrel、Transfonter等)将已存在的字体文件转换为网页可以使用的格式(如WOFF、…

    css 2023年6月9日
    00
  • CSS常用优化技巧

    以下是关于“CSS常用优化技巧”的完整攻略,包含两个示例说明。 优化技巧一:使用缩写属性 在 CSS 中,有很多属性可以使用缩写来简化代码。例如,可以使用 margin 属性来设置元素的外边距,而不是分别设置 margin-top、margin-right、margin-bottom 和 margin-left 属性。这样可以减少代码量,提高代码的可读性和可…

    css 2023年5月18日
    00
  • CSS实例:CSS实现的等高网页布局

    以下是CSS实现的等高网页布局的完整攻略: 具体步骤 1.首先,在HTML中设置一个容器来承载所有的网页内容,这个容器可以是一个div标签,设置它的高度为auto,将内容容器的高度和宽度都设置为100%; 2.创建左边的导航栏容器,将其float属性设置为left,然后设置其宽度和内容容器的宽度相同,设为20%或其他值; 3.在右边的主容器中,设置两个div…

    css 2023年6月10日
    00
  • JavaScript实现网页播放器

    实现一个JavaScript的网页播放器,可以让你的网站更具交互性和吸引力。下面是一个完整的攻略,包含了实现方式、示例说明和实现过程中可能遇到的一些问题以及如何解决它们。 步骤1:准备HTML结构 首先我们需要在HTML文件中添加一个audio元素,它将作为播放器的核心: <audio src="song.mp3"></…

    css 2023年6月11日
    00
  • CSS制作框架 Sass 3.4.4 今日发布

    CSS制作框架Sass 3.4.4今日发布,这是一个非常值得关注的新版本。Sass 是一款流行的 CSS 预处理器。Sass 为 CSS 添加了许多高级特性,例如嵌套规则、变量、mixin 以及向导使用。 Sass 3.4.4 主要改进 Sass 3.4.4 版本是对 3.4 版本的补丁,主要改进包括: 修复了多个 bug。 修复了 Linux 下部分命令失…

    css 2023年6月10日
    00
  • html+css实现血轮眼轮回眼特效代码

    下面是实现血轮眼轮回眼特效代码的攻略: 1. 准备工作 在开始编写代码之前,需要准备以下内容: 血轮眼轮回眼的图像素材 HTML文档框架 CSS样式表 2. HTML文档框架 为了实现血轮眼轮回眼的特效,我们将HTML文档分成3层。其中,第一层为血轮眼的底部,第二层为轮回眼的中间部分,第三层为轮回眼的顶部。HTML文档框架的代码如下: <div cla…

    css 2023年6月10日
    00
  • 处理textarea中的换行和空格

    处理 textarea 中的换行和空格,是前端开发中比较常见的需求之一。通常的场景是需要保存用户在 textarea 中输入的文本,但是默认情况下,这些文本会带有一些换行和空格符号,需要进行去除或者转换。 1. 去除换行和空格 1.1 去除所有空格 如果需要去除 textarea 中的所有空格,可以使用 JavaScript 中的 replace() 方法配…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部