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

如何设置元素width时忽略滚动条宽度?(仅CSS跨浏览器实现)

如何让CSS元素宽度忽略滚动条宽度(纯CSS、不隐藏滚动条)

我曾找到过类似问题,但我的需求有以下不同:

  • 不隐藏滚动条,而是让元素宽度忽略滚动条的宽度
  • 仅通过CSS实现,不使用JavaScript
  • 优先寻求全浏览器兼容的非webkit专属方案,也可接受分浏览器的多方案

场景示例

我将div的宽度设为100px并开启滚动:

  • 预期结果:div内容区域宽度为100px,同时正常显示滚动条
  • 实际结果:div内容区域加滚动条的总宽度为100px,导致div实际内容宽度仅约85px,未达预期
  • 核心问题:使用width: 100px;时,如何让滚动条不占用这个宽度?

结果示意图

代码示例

div {
  width: 100px;
  height: 100px;
  overflow: scroll;
  
  /* 我知道这不适用于overflow,仅以此举例是否有针对滚动条的类似原生方案 */
  box-sizing: content-box;
}
<div>
  Lorem Ipsum is simply dummy text of the printing and typesetting industry.
</div>

逻辑上我希望实现类似box-sizing的效果,但box-sizing仅计算border和padding的尺寸。是否已有现成的解决方案只是我没找到?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 17:34:57