网站首页 > 知识剖析 正文
本章主要内容
- 自定义窗口
一、创建无边框窗口
创建无边框窗口你需要在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;
}
二、自定义标题栏
自定义标题栏就是在无边框的情况下,在页面中自己实现一个标题栏。
修改index.html:
...
<body>
<nav id="nav">这里是自定义标题栏</nav>
...
</body>
修改styles.css:
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,来自定义标题栏。
猜你喜欢
- 2024-12-26 css布局方案汇总(28个实例图文并茂)
- 2024-12-26 StackOverflow 2022 年度调查报告
- 2024-12-26 滑动页面时的控件设计规范——吸底&锚点
- 2024-12-26 css精髓:这些布局你都学废了吗? css布局是什么意思
- 2024-12-26 产品必会的30个Axure使用技巧 axure基础知识
- 2024-12-26 微信小程序开发极简入门(四):文件导入
- 2024-12-26 CSS新特性contain,控制页面的重绘与重排
- 2024-12-26 两句css代码实现全屏滚动效果-demo案例
- 2024-12-26 CSS实现溢出显示省略号 html溢出省略号
- 2024-12-26 详解css清除浮动方法 详解css清除浮动方法是什么
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)