本文作者:苏生米沿

本文地址:http://blog.csdn.net/sushengmiyan/article/details/50186709

翻译来源:http://docs.sencha.com/extjs/6.0/core_concepts/theming.html

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
);

刷新应用程序。

[ExtJS6学习笔记]Ext JS6主题系列 (Classic工具包)的更多相关文章

  1. 【extjs6学习笔记】1.16 初始: 关于主题

    打开app.json,里面有主题设置 主题说明 theme-base 这个包是所有其他主题的基础主题,是唯一没有父主题的主题. 它包含Ext JS组件和布局正常工作绝对必需的最低限度的一组CSS规则. ...

  2. 【extjs6学习笔记】Mastering Ext JS, 2nd Edition

    我不知道在别人看来,我是什么样的人:但在我自己看来,我不过就象是一个在海滨玩耍的小孩,为不时发现比寻常更为光滑的一块卵石或比寻常更为美丽的一片贝壳而沾沾自喜,而对于展现在我面前的浩瀚的真理的海洋,却全 ...

  3. 【extjs6学习笔记】1.5 初始:关于布局

    absolute 绝对布局,这个布局使用 x 和 y 属性来指定组件的绝对定位 accordion 手风琴布局[可折叠布局]这个布局展示了在一个时间里只有一个内置的可支持折叠和展开的子级 panel ...

  4. 学习笔记5——wp主题开发

    我觉得学习wordpress插件开发之前还是得先理解一下wp的主题开发,循序渐进才能学好wordpress开发,话不多说,接下来整理一下这两天学习的wordpress主题开发的一些心得和体会,与大家一 ...

  5. Extjs学习笔记--Ext.tree.Panel

    Ext.create('Ext.tree.Panel', { title: 'Simple Tree', width: 200, height: 150, store: store, rootVisi ...

  6. 【extjs6学习笔记】0.4 准备: 书籍与文档

    Ext JS 6 By Example Ext JS Essentials Learning Ext JS - Fourth Edition Ext JS 6: Getting Started htt ...

  7. 【extjs6学习笔记】1.14 初始: ViewModel

    ViewModel是一个管理特定UI组件数据的类. 可以将其视为特定视图的记录容器. 它支持与UI组件的双向数据绑定,只要用户在视图中更改数据,它具有最新的副本. 与模型不同,它不能包含代理,因此它不 ...

  8. 【extjs6学习笔记】1.13 初始: 模型

    Ext JS包括数据包Ext.data包括处理从服务器保存和检索数据的类. 以下是Ext JS 6数据包中的重要类: Model (Ext.data.Model) Store (Ext.data.St ...

  9. 【extjs6学习笔记】1.15 初始: 关于build

    调试版本 sencha app build --development 发布版本 sencha app build 说明: 使用第三方库时,目前sencha可能还有bug,会更改第三方库内容,所以发布 ...

随机推荐

  1. sort()与sorted()区分开

    列表的排序方法是sort 可用list.sort() sorted()是BIF不能用list.sorted() 引发的异常AttributeError: 'list' object has no at ...

  2. 告知服务器意图的http方法

    1.GET 用来获取资源,返回已有的结果 2.POST 传输实体主体,返回处理过后的结果 3.PUT 向服务器传输文件,返回是否成功的状态码 4.DELETE 删除服务器文件,返回是否成功的状态码 5 ...

  3. 使用Autofac,提示重写成员“Autofac.Integration.Mvc.AutofacDependencyResolver.GetService(System.Type)”时违反了继承安全性规则。重写方法的安全可访问性必须与所重写方法的安全可访问性匹配。

    接触Autofac大概有2天左右,第2天,亲自动手搭建demo,搭完,以为大功告成的时候,提示了这个错误,网上找了很多方法,都没有解决. 为以后的朋友,避免踩坑,分享一下我的解决方法. Dmeo我是新 ...

  4. 关于ES6 的对象解构赋值

    之 前写了关于ES6数组的解构 现在 go on ; 解构不仅可以用于数组,还可以用于对象: 对象的解构和数组有一个重要的不同.数组的元素是按次序排列的,变量的取值是由他的位置决定的:而对象的属性没有 ...

  5. [LeetCode] Longest Uncommon Subsequence II 最长非共同子序列之二

    Given a list of strings, you need to find the longest uncommon subsequence among them. The longest u ...

  6. ●51NOD 1705 七星剑

    题链: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1705题解: 期望dp,期望的线性性质 (首先对于第k颗星,一定只 ...

  7. BZOJ4424: Cf19E Fairy

    树上差分的代码很简洁,dfs+差分即可 这题很多坑点啊,比如重边自环好坑 #include<cstdio> #include<cstdlib> #include<algo ...

  8. [bzoj4821][Sdoi2017]相关分析

    来自FallDream的博客,未经允许,请勿转载,谢谢. Frank对天文学非常感兴趣,他经常用望远镜看星星,同时记录下它们的信息,比如亮度.颜色等等,进而估算出星星的距离,半径等等.Frank不仅喜 ...

  9. [BZOJ]3672 购票(Noi2014)

    革命尚未成功,同志还需努力. Description 今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会. 全国的城市构成了一棵以SZ ...

  10. RAC基本原理

    RAC基本原理 什么是RAC? 多个实例跑在多个服务器上 一个数据库存放在共享的存储上,所有实例都可以访问 实例之间通过内联网络交换数据和信息 共享存储内容:数据文件.REDO.UNDO.控制文件 参 ...