七 自定义窗口

本章主要内容

  • 自定义窗口

一、创建无边框窗口

创建无边框窗口你需要在BrowserWindow构造函数中将frame属性设置为false

1.修改 main.js

...
function createWindow() {
...
frame: false,
webPreference: {
...

此时运行应用就可以看到菜单已经不见了,但是我们也无法进行最大化、最小化、关闭窗口的操作了。

默认情况下, 无边框窗口是不可拖拽的。 应用程序需要在 CSS 中指定 -webkit-app-region: drag 来告诉 Electron 哪些区域是可拖拽的(如操作系统的标准标题栏),在可拖拽区域内部使用 -webkit-app-region: no-drag 则可以将其中部分区域排除。 请注意, 当前只支持矩形形状。
要使整个窗口可拖拽, 您可以添加 -webkit-app-region: drag 作为 body 的样式。

2.新建styles.css,写入如下代码

body {
  -webkit-app-region: drag;
}

3.在index.html中引入styles.css

...
<head>
    ...
    <link rel="stylesheet" href="styles.css" type="text/css" />
</head>
...

运行程序
在这里插入图片描述请注意,如果您使整个窗口都可拖拽,则必须将其中的按钮标记为不可拖拽,否则用户将无法点击它们,在 styles.css 中添加如下代码:

button {
  -webkit-app-region: no-drag;
}

二、自定义标题栏

自定义标题栏就是在无边框的情况下,在页面中自己实现一个标题栏。
例如:

...
<body>
  <nav id="nav">这里是自定义标题栏</nav>
  ...
</body>
html {
  overflow-x: hidden;
}

body {
  margin: 0;
}

#nav {
  width: 100%;
  height: 40px;
  margin: 0;
  display: block;
  background: #292929;
  color: #fff;
  border: 1px solid #303030;
  -webkit-app-region: drag;
  -webkit-user-select: none;
  padding-top: 10px;
  padding-left:  10px;
}

h1, p, button {
  margin-left: 20px;
}

运行后看效果
在这里插入图片描述这里我们可以自己写,也可以引入第三方库,比如Bootstrap,来自定义标题栏。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

景能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值