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

yizhihongxing

下面我来为你详细讲解“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 中,我们可以使用多种方法来对齐文本框和其旁边的图像按钮,例如搜索框等。下面是完整攻略,包含了如何使用 CSS 实现对齐的过程和两个示例说明。 CSS 实现对齐文本框和其旁边的图像按钮 步骤一:使用 display:inline-block 属性 我们可以使用 display:inline-block 属性来对齐文本框和其旁边的图像按钮。例如: &…

    css 2023年5月18日
    00
  • CSS Border高级使用实例分享(三角等形状)

    CSS的border属性被广泛运用在网页中,其不仅可以添加边框并调整边框的宽度、样式、颜色等属性,同时也可以通过一些高级技巧实现一些有趣的效果。其中较为常见的包括实现三角、梯形、菱形等形状。 实现三角形状的方式 实现三角形状的效果有多种方法,下面提供两种实现方式: 方法一:使用border实现三角形 通过设置元素的宽高为0,同时将它的三边样式设置为trans…

    css 2023年6月9日
    00
  • 用div+css解决出现水平滚动条问题

    解决出现水平滚动条问题的方法有很多,其中一种比较常用的是使用DIV+CSS布局。 首先,要解决水平滚动条问题,需要注意以下几点: 避免过度使用width属性 如果给一个容器设置过大的width属性值,容器就会超出浏览器窗口,出现水平滚动条。 解决方法是,尽量使用自适应布局,避免使用固定的宽高值。 设置盒模型属性 在CSS中,有两种盒模型:W3C标准盒模型和I…

    css 2023年6月10日
    00
  • Bootstrap4一次重大更新 几乎涉及每行代码

    Bootstrap4 是一款非常流行且使用广泛的前端框架,其能够帮助开发人员快速构建现代化的Web应用程序和网站。Bootstrap4 最近发布了一次重大更新,更新内容涉及到每行代码,为了让大家更好地理解 Bootstrap4 的更新,下面是一份完整攻略。 1. 重要更新 Bootstrap4 最重要的更新是它完全采用了Flexbox布局。在以前的版本中,使…

    css 2023年6月11日
    00
  • jQuery实现参数自定义的文字跑马灯效果

    以下是关于“jQuery实现参数自定义的文字跑马灯效果”的攻略: 1. 简介 跑马灯效果是一种常见的UI交互效果,它可以使用户更加关注某一特定内容。在Web页面中,可以通过jQuery库实现文字跑马灯效果。 2. 实现步骤 2.1. HTML结构 首先,在HTML中需要定义一个容器,用来包裹跑马灯的文字内容,示例如下: <div class=&quot…

    css 2023年6月10日
    00
  • 原生js仿浏览器滚动条效果

    我们来详细讲解在原生 JavaScript 中如何实现仿浏览器滚动条效果。 1. 设计实现思路 在实现仿浏览器滚动条的效果时,需要考虑以下几个方面: 创建滚动条:根据需要创建一个滚动条,并设置它的高度和样式。 监听内容滚动:监听页面内容的滚动事件。 计算滑块位置:根据内容滚动的位置和内容高度,计算出滑块的位置。 移动滑块:根据计算得出的滑块位置,改变滑块的样…

    css 2023年6月10日
    00
  • jQuery leonaScroll 1.1 自定义滚动条插件(推荐)

    下面是 jQuery leonaScroll 1.1 自定义滚动条插件的完整攻略。 1、安装插件 首先,我们需要下载安装 jQuery leonaScroll 1.1 插件。可以从 Github 上下载最新版插件包,解压后将其中的 leonascroll.min.js 文件复制到项目中。 <script src="path/to/leonas…

    css 2023年6月9日
    00
  • Javascript jquery css 写的简单进度条控件

    下面我将详细讲解如何使用JavaScript、jQuery和CSS编写一个简单的进度条控件的攻略。 1. 设计进度条界面 首先,我们需要设计进度条的界面,可以使用HTML和CSS来实现。在HTML文件中创建一个 元素,用于表示进度条。例如: <div class="progress-bar"> <div class=&q…

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