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

浏览器未遵循CSS视觉格式化模型规范?技术疑问求助

CSS视觉格式化模型的计算疑问

根据CSS视觉格式化模型的描述:

'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' = 包含块宽度

当margin和width均不为auto,且它们的总和大于包含块宽度时,margin-right会被忽略,其值将被重新计算以满足等式成立。

示例代码

CSS代码

.parent {
  background-color: #01c1ff;
  width: 400px;
  height: 400px;
  margin: auto;
}

.child {
  height: 200px;
  margin-left: 150px;
  width: 200px;
  margin-right: 150px;
  background-color: #ff01c1;
}

HTML代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div class="parent">
    <div class="child"></div>
  </div>
</body>

</html>

在上述代码中,child元素的包含块宽度为400px,width+margin-left+margin-right的总和为500px。按照规范描述,margin-right最终应被设置为50px以满足等式。

但在浏览器中检查后发现,margin-right并未被设置为50px,仍保持150px的初始值。

浏览器实际结果截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:47:45