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

Electron <webview>标签是否支持border-radius?支持样式参考在哪?

Electron 标签border-radius支持问题解答

核心结论

Electron的<webview>标签无法通过自身的border-radius属性实现内部网页内容的圆角裁剪。你设置的border-radius仅对<webview>元素的边框、轮廓生效,但内部加载的页面内容不会被该属性裁剪,这就是出现内容超出圆角边界现象的原因。

解决方法

可以通过给<webview>包裹一层容器,利用容器的border-radius + overflow: hidden实现内容的圆角裁剪,具体代码修改如下:

修改后的HTML

<body>
    <aside>
    </aside>
    <main>
        <div class="webview-container">
            <webview id="view" src="https://www.microsoft.com/en-gb"></webview>
        </div>
    </main>
</body>

修改后的CSS

body {
    min-height: 100vh;
    min-width: 100vw;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

aside {
    min-width: 88px;
}

main {
    flex: 1;
    box-sizing: border-box;
    padding: 8px 9px 9px 0px;
}

.webview-container {
    height: 100%;
    width: 100%;
    border-radius: 16px;
    border: 1px solid red;
    overflow: hidden;
}

#view {
    height: 100%;
    width: 100%;
    outline: 1px solid blue;
}

原始测试代码与结果

原始HTML

<body>
    <aside>
    </aside>
    <main>
        <webview id="view" src="https://www.microsoft.com/en-gb"></webview>
    </main>
</body>

原始CSS

body {
    min-height: 100vh;
    min-width: 100vw;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

aside {
    min-width: 88px;
}

main {
    flex: 1;
    box-sizing: border-box;
    padding: 8px 9px 9px 0px;
}

#view {
    height: 100%;
    width: 100%;
    border-radius: 16px;
    border: 1px solid red;
    outline: 1px solid blue;
}

测试结果

Electron WebView Border Radius

从结果可见,border-radius仅作用于<webview>的边框和轮廓,内部网页内容并未被圆角裁剪,超出了边界范围。

参考文档说明

Electron官方文档中对<webview>标签支持的CSS样式有明确限定,border-radius不在其原生支持的样式列表中。你可以查阅Electron官方文档的<webview>章节,获取完整的支持样式清单。

内容的提问来源于stack exchange,提问作者Matthew Layton

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 21:26:20