调色板(Color Palette)
Quasar Framework开箱即可提供多种颜色选择。 您可以在CSS代码中将它们用作Stylus变量,或者直接在HTML模板中将它们用作CSS类。
阅读Quasar主题后,这个页面非常有用。你可能还想查看颜色实用程序.
品牌(Brand)颜色
在您的应用程序中可以使用三种主要颜色,称为 primary, secondary and tertiary。
Quasar组件使用的大多数颜色都与这三种颜色紧密相连,您可以更改这些颜色。 选择这些颜色是区分自己的应用程序设计时应采取的第一步。 当更改的默认值时,您会立即注意到Quasar组件遵循这些颜色作为指导。
颜色列表
以下是开箱即用的颜色列表。 在应用程序的* .vue文件中将它们用作CSS类(在HTML模板中)或作为Stylus变量(在<style lang =“stylus”>标签中)。
primary, secondary, tertiarypositive, negative, info, warning, white, light, dark, faded
在以下颜色中有可用的变化形式:red, pink, purple, deep-purple, indigo, blue, light-blue, cyan, teal, green, light-green, lime, yellow, amber, orange, deep-orange, brown, grey, blue-grey
颜色变化示例:red, red-1, red-2, …, red-14. 查看demo可以很好地了解这些变化。 变化11至14是颜色的强调。
使用CSS类
使用text-或bg-前缀作为类名来改变文本的颜色或背景的颜色。
<!-- changing text color --> |
使用Stylus变量
在应用程序的*.vue文件中,可以使用$primary,$red-1等颜色。
<!-- Notice lang="stylus" --> |
添加你自己的颜色
如果您想使用自己的颜色作为组件,假设我们添加了一个名为“brand”的颜色,则只需将以下CSS添加到您的应用中即可:
.text-brand { |
现在我们可以将这种颜色用于Quasar组件:<q-input color="brand" ... />
品牌(Brand)颜色的动态变化(动态主题颜色)
警告
这仅在支持CSS变量的浏览器(自定义属性)上受支持。
它不会在IE11上工作,但它会恢复到CSS主题中的品牌颜色。此功能需要Quasar v0.15.7 +
您可以在运行时动态定制品牌颜色: primary, secondary, tertiary, positive, negative, info, warning, light, dark, faded。这意味着您可以使用默认颜色主题构建应用程序的一个构建版本,但显示时使用运行时所选的一个。
主要颜色配置使用存储在根元素(:root)中的CSS自定义属性完成。每个属性的名称都是--q-color-${name}(例如:--q-color-primary,--q-color-secondary),并且应该具有有效的CSS颜色作为值。
CSS自定义属性使用与普通CSS相同的继承规则,因此只能重新定义所需的颜色,其余的将从父元素继承。
推荐的工作流程是在html(document.documentElement)或body(document.body)元素上设置自定义的颜色属性。这将允许您通过删除自定义颜色来恢复为默认颜色。
有关CSS自定义属性(变量)的更多信息:http://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables
辅助方法 - setBrand
在colors实用程序中,Quasar提供了一个辅助方法用于设置自定义颜色:setBrand(colorName,colorValue[,element])
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
colorName |
字符串 | 是 | primary, secondary, tertiary, positive, negative,info, warning, light, dark, faded之一 |
colorValue |
字符串 | 是 | 有效的CSS颜色值 |
element |
元素 | - | (默认:document.body)设置自定义属性的元素。 |
使用辅助方法设置品牌颜色的示例:import { colors } from 'quasar'
colors.setBrand('light', '#DDD')
colors.setBrand('primary', '#33F')
colors.setBrand('primary', '#F33', document.getElementById('rebranded-section-id'))
辅助方法还将负责为某些颜色(positive,negative,light)设置相关的自定义属性,所以这是推荐的使用方式,而不是原始的JavascriptsetProperty()。
辅助方法 - getBrand
在colors实用程序中,Quasar提供了一个辅助方法,用于获取设置的自定义颜色:getBrand(colorName [,element])
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
colorName |
字符串 | 是 | primary, secondary, tertiary, positive, negative, info, warning, light, dark, faded 之一 |
element |
元素 | - | (默认值:document.body)将读取自定义属性的元素。 |
使用辅助方法获取自定义颜色的示例:import { colors } from 'quasar'
colors.getBrand('primary') // '#33F'
colors.getBrand('primary', document.getElementById('rebranded-section-id'))
这个辅助方法所做的就是包装原始Javascript的getPropertyValue()方法以方便使用。 等同于原始Javascript的示例:
// 等同于原始Javascript中的colors.getBrand('primary'): |
Quasar