【发布时间】:2018-04-22 02:33:15
【问题描述】:
如何为frameless 电子浏览器窗口正确添加边框? 我的无框窗口高度取决于页面中的内容,因此很难在其周围添加边框。
这就是我现在的做法:
1) 我正在为 html 添加边框:
html{
border-style: solid;
border-color: slategray;
border-width: 5px;
}
2)从渲染器端js计算窗口高度:
let pageHeight = ( $('body').outerHeight(true));
$('html').height(Math.ceil(pageHeight));
let margin = 9;
let electronWindowHt = Math.ceil(pageHeight)+margin;
ipcRenderer.send('dom-ready-command',electronWindowHt);
3)从主js设置窗口大小:
ipc.on('dom-ready-command', (event, height) => {
clipboardWindow.setSize(config.WIDTH, height, false);
clipboardWindow.setPosition(clipwin_x, clipwin_y, false);
// other code
.
.
.
})
问题是它不是完美的像素。有时它可以正常工作,但有时当 html 正文内容增加或减少时,我会得到比内容更小的高度电子窗口。它隐藏了底部边框,我需要向上滚动才能看到该边框。如果我稍微增加高度,那么下次我会在底部边框下方留下一些空白。宽度不是问题,因为它总是固定的。
如下图所示,由于电子窗口的尺寸比 HTML 正文的内容更小,底部边框被隐藏了一点。
那么我怎样才能让它像素完美呢?
【问题讨论】:
标签: javascript html css electron