我开始使用Electron来构建桌面应用程序 . 如何自定义窗口 Headers 栏(包含关闭,最小化和全屏按钮)以添加自定义视图? Safari就是我想到的一个例子:
第一个跨平台选项是创建frameless window . 第二个是macOS,允许你隐藏 Headers 栏,但保留窗口控件,允许添加自定义按钮 . 例:
const { BrowserWindow } = require('electron') // This will create a window without titlebar, allowing for customization let win = new BrowserWindow({ titleBarStyle: 'hidden' }) win.show()
然后,您可以使用css属性 -webkit-user-select 和 -webkit-app-region 指定拖动区域 .
-webkit-user-select
-webkit-app-region
你在Electron中唯一的选择就是创建一个frameless(又名无边界)窗口,然后用CSS创建一个"fake" Headers 栏,包括你需要的任何UI元素 .
Electron / webkit提供了CSS属性,允许您使任何元素可拖动,如 Headers 栏:
.titlebar { -webkit-user-select: none; -webkit-app-region: drag; }
2 回答
第一个跨平台选项是创建frameless window . 第二个是macOS,允许你隐藏 Headers 栏,但保留窗口控件,允许添加自定义按钮 . 例:
然后,您可以使用css属性
-webkit-user-select
和-webkit-app-region
指定拖动区域 .你在Electron中唯一的选择就是创建一个frameless(又名无边界)窗口,然后用CSS创建一个"fake" Headers 栏,包括你需要的任何UI元素 .
Electron / webkit提供了CSS属性,允许您使任何元素可拖动,如 Headers 栏: