You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron标题栏最大化时出现白色竖线问题求助

Electron标题栏最大化时出现白色竖线的解决办法(无需自定义标题栏)

当使用titleBarStyle: 'hidden'搭配titleBarOverlay配置窗口时,最大化后按钮旁出现白色竖线,这是Electron原生标题栏按钮布局的常见小问题,不用自定义标题栏就能解决,试试下面几种方案:

方案1:手动指定标题栏覆盖层高度

最大化时的竖线往往是因为overlay高度和原生按钮区域不匹配,手动设置height参数对齐系统标题栏高度(Windows一般设32px,Mac可根据实际调整):

function createWindow() {
  win = new BrowserWindow({
    width: 800,
    height: 600,
    titleBarStyle: 'hidden',
    titleBarOverlay: {
      color: '#1D1E20',
      symbolColor: '#EEEEEE',
      height: 32 // 显式设置高度
    },
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false,
      devTools: true
    },
    show: false
  })
  // 其余代码不变
  win.loadFile('index.html')
  win.once('ready-to-show', () => {
    win.show()
  })
}

方案2:切换标题栏样式为hiddenInset

hiddenInset样式下原生按钮布局更紧凑,能避免边界线溢出的问题,直接修改titleBarStyle:

function createWindow() {
  win = new BrowserWindow({
    width: 800,
    height: 600,
    titleBarStyle: 'hiddenInset', // 替换为hiddenInset
    titleBarOverlay: {
      color: '#1D1E20',
      symbolColor: '#EEEEEE'
    },
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false,
      devTools: true
    },
    show: false
  })
  // 其余代码不变
  win.loadFile('index.html')
  win.once('ready-to-show', () => {
    win.show()
  })
}

方案3:监听窗口状态变化,强制刷新标题栏

通过监听窗口最大化/还原事件,重新设置标题栏覆盖层,修复布局异常:

function createWindow() {
  win = new BrowserWindow({
    width: 800,
    height: 600,
    titleBarStyle: 'hidden',
    titleBarOverlay: {
      color: '#1D1E20',
      symbolColor: '#EEEEEE'
    },
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false,
      devTools: true
    },
    show: false
  })

  // 新增监听事件
  win.on('maximize', () => {
    win.setTitleBarOverlay({
      color: '#1D1E20',
      symbolColor: '#EEEEEE'
    })
  })
  win.on('unmaximize', () => {
    win.setTitleBarOverlay({
      color: '#1D1E20',
      symbolColor: '#EEEEEE'
    })
  })

  win.loadFile('index.html')
  win.once('ready-to-show', () => {
    win.show()
  })
}

方案4:升级Electron到最新稳定版

这个问题大概率是旧版本Electron的已知bug,升级到v28及以上的稳定版,原生组件的布局问题通常会被官方修复。

问题对应状态截图:

  • 正常状态:
    正常状态
  • 最大化异常状态:
    最大化状态

内容的提问来源于stack exchange,提问作者Heda Dasser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:31:13