某些 Quasar 组件和插件会渲染在你应用的挂载点之外:它们会创建一个节点,将其追加到 <body>(在对话框内部打开的菜单则会进入该对话框),然后把内容渲染进去。这些就是全局节点。
- QDialog、QMenu、QTooltip、QPopupProxy 以及基于它们构建的任何组件(QSelect、QBtnDropdown 等)在显示时都会各自获得一个
#q-portal--dialog--N、#q-portal--menu--N或#q-portal--tooltip--N节点 - Dialog 插件每打开一个对话框就会获得一个
#q-portal--dialog--N节点 - Notify 插件渲染进
#q-notify - Loading 插件渲染进
#q-loading - LoadingBar 插件渲染进
#q-loading-bar
Portal 节点在组件首次显示时创建,在组件卸载时移除;插件节点则在应用的整个生命周期内一直存在。
自定义 CSS 类
由于全局节点位于你应用的根元素之外,作用域限定在该元素上的 CSS 无法触及它们。你可以让 Quasar 为它创建的每个全局节点应用一个你自己的类:
// quasar.config 文件
framework: {
config: {
globalNodes: {
class: 'my-app' // 一个或多个类,以空格分隔
}
}
}然后在你的 CSS 中定位这些节点:
.my-app .q-dialog__inner {
padding: 24px;
}