ExtJS提供的可以使用的主题包对于创建一个干净专业的程序来说已经很有创意了,然而,你可能还是会希望提供自己的一种设计方式或现在存在的企业设计方式。

从历史上来说,给程序美化就是指的给html标签提供渲染组件的规则,但是这样做也会有一些弊端出现。首先,你需要负担的是各种支持的浏览器。其次,随着框架的成熟,很多不愉快就会产生,比如你的规则风格的变化需要追逐潜在元素的改变。通过ExtJS提供的API就可以很好的解决这些问题。

通过theming API创建的主题可以在任何ExtJS程序中共享。这就运行你可以编写一次规则,重复给你的程序持续改变风格。这个指导就会列出必要的主题工作,不论你是创建一个工作空间还是应用程序或者单独就是创建一个个性化主题。

这个指导将会覆盖基本的关于使用classic toolkit(ExtJS)的个性化主题,接下来,我们将会覆盖不同的现代主题(SenchaTouch)的方式,最终,将会介绍Triton主题和扩展性。

如果你想做以上事情,你就需要安装sencha cmd 6以上版本。可选的JRE1.7版本,如果你需要使用app watch的话,就必须安装。如果不安装JRE7以上,那就需要每次启动sencha app refresh来刷新改动。

构建一个个性化主题

当你准备好以上步骤的时候,你就可以自定义主题了。首先需要创建一个工作空间,但这不是必须的,使用如下命令创建工作空间 sencha -sdk {path/to/Ext-JS-SDK} generate workspace my-workspace

一、创建一个测试使用的工作程序

使用命令sencha -sdk ext generate app -classic ThemeDemoApp theme-demo-app

切换到当前程序 cd theme-demo-app

二、创建自定义主题目录,使用 命令 sencha generate theme my-classic-theme

启动程序 sencha app watch

浏览器查看效果 http://localhost:1841

修改packages/local/my-classic-theme/package.json下的extend节点,"extend": "theme-neptune"修改为"extend": "theme-crisp"

三、配置全局变量

创建文件packages/local/my-classic-theme/sass/var/Component.scss增加内容$base-color: #317040;

在应用程序中使用自定义的主题。找到theme-demo-app/app.json将"theme": "theme-triton",替换为"theme": "my-classic-theme",

四、给gridpanel设置红色边框,修改my-classic-theme/sass/src/panel/Panel.scss

@include extjs-panel-ui(
$ui: 'highlight-framed',
$ui-header-background-color: red,
$ui-border-color: red,
$ui-header-border-color: red,
$ui-body-border-color: red,
$ui-border-width: 5px,
$ui-border-radius: 5px,
$ui-header-color: white
);

自定义ExtJS主题的更多相关文章

  1. 自定义element-ui主题

    自定义element主题颜色:主要参考这个文章https://blog.csdn.net/wangcuiling_123/article/details/78513245,再自己做了一遍成功.感谢. ...

  2. Soda Theme sublime 自定义编辑器主题

    1.Soda ThemeSublime Text 3中较为常用的一款自定义编辑器主题,用过的人都说好.Soda Theme包含代码着色.标签.图标,拥有light和dark两种颜色主题便于用户在不同时 ...

  3. CodeMix使用教程:构建自定义DevStyle主题

    [MyEclipse CI 2019.4.0安装包下载] DevStyle主题允许开发人员自定义工作台,无论是喜欢带有明亮图标的浅色背景还是带有柔和色彩的神色背景,开发人员都可以将工作台调整到适合的色 ...

  4. 如何自定义echarts主题

    上一篇,选择echarts原有的主题样式,那么如何自定义自己的主题 与选择原有主题类似 1.echarts官网地址http://echarts.baidu.com/echarts2/doc  在工具中 ...

  5. 自定义grub主题

    1 概述 自定义grub引导菜单的主题,笔者的linux是deepin,感觉默认的grub主题不太好看,嗯,没办法,就是想改了. 这篇文章主要是修改/boot/grub/grub.cfg以及/boot ...

  6. react中自定义antd主题与支持less(第二部)

    自定义主题 首先自定义主题需要修改antd,antd本身也是less写的之后编译成css的,所以当我们需要使用less. 1.yarn add react-app-rewire-less --dev ...

  7. 自定义putty主题

    PuTTY很早之前就没有更新了(0.62),因为都是开源的所以有人branch出来做了增强,如这个PuTTY tray,增加了超链等功能: https://puttytray.goeswhere.co ...

  8. 自定义ExtJS插件

    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73b6f93834c28c3933fc239045647 ...

  9. 仿ElementUI构建自己的Vue组件库用babel-plugin-component按需加载组件及自定义SASS主题

    最近使用ElementUI做项目的时候用Babel的插件babel-plugin-component做按需加载,使得组件打包的JS和CSS包体积大大缩小,加载速度也大大提升,所有想模仿做一个组件库也来 ...

随机推荐

  1. TCP的流量控制与拥塞控制小结

    概述 为了提高信道的利用率TCP协议不使用停止等待协议,而是使用连续ARQ协议,意思就是可以连续发出若干个分组然后等待确认,而不是发送一个分组就停止并等待该分组的确认.其中TCP的流量控制与拥塞控制是 ...

  2. python import自己编写的模块:import json和simplejson

    python import的模块都是库里面的,而自己的模块也可以添加 比如python的json处理,库里没有json文件,import json不行. 网上大部分人告诉你处理json用 dumps和 ...

  3. python调用数据库并查询

    http://blog.csdn.net/pipisorry/article/details/48024795 python调用数据库命令 conn = sqlite3.connect(". ...

  4. Intellij Idea配置提高速度

    主要介绍一下Intellij Idea的关于速度和最大最大方法数目 提高速度 1.命令: 2.找到./Library/Preferences/IntelliJIdea2016.1/idea.vmopt ...

  5. H5学习之旅-H5列表(8)

    列表的基本语法 ol:有序列表 ul:无序列表 li:列表项 dl:列表 dt:列表项 dd:列表描述 常用列表 1.无序列表:使用标签 ul,li 属性:disc(默认实心圆) circle (空心 ...

  6. MySQL的一些常用的SQL语句整理

    安装MySQL有两种的方式,一种是解压版本,但是需要配置环境变量,相对而言比较麻烦.所以我们一般采取第二种方式,那就是到MySQL的官网上下载安装版.这样就会省去很多麻烦,在这里我就不再详细的介绍具体 ...

  7. 高通 MSM8K bootloader 之三: LK

  8. 移动App设计的十条建议

    原文链接: 10 Key Design Tips for Great Mobile Apps 原文日期: 2014年03月24日 翻译日期: 2014年04月01日 使用Android和iOS编写一个 ...

  9. 如何将sqlserver的windows验证模式改为SQL Server 和 Windows 混合身份验证模式

    今天问同事拷贝了份虚拟机,里面已装好sqlserver2008,可是他装的时候选择的是windows身份验证,我需要将其改成SQL Server 和 Windows 混合身份验证模式,具体步骤如下: ...

  10. Erlang Rebar 使用指南之四:依赖管理

    Erlang Rebar 使用指南之四:依赖管理 全文目录: https://github.com/rebar/rebar/wiki 本章链接: https://github.com/rebar/re ...