gpt4 book ai didi

css - 为什么 margin :auto is calculated different on chrome?

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:36 26 4
gpt4 key购买 nike

我很难调试这个 jsbin .

给定以下布局:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
</head>
<body>
<div class="col-xs-12">
<div class="container contenedor">
<div class="row">
<div class="col-xs-12 col-md-8">
<div class="filler green">Green</div>
</div>
<div class="col-xs-12 col-md-4">
<div class="filler orange">Orange</div>
</div>
</div>
</div>
</div>
<div class="height"></div>
</body>
</html>

和以下 CSS:

.filler {
width: 100%;
height: 5em;
text-align: center;
}
.filler.green {
border: 1px dashed green;
background-color: green;
}

.filler.orange {
border: 1px dashed orange;
background-color: orange;
}

.height {
height: 100em;
}

.contenedor {
padding: 0;
}

在 chrome 中,1200px 视口(viewport)中的 .container.contenedor margin-right 被计算为 -15px,margin-left 被计算为 0px,尽管 Bootstrap 将这两个属性设置为 auto。在视口(viewport)中,就像我的情况一样,1298 像素,两个边距都计算为 49 像素。

据我所知,同时将 margin-left/right 设置为 auto 是一种使元素居中的常用技术,因为两侧的剩余空间被平均分配。

所以,我的问题是,这种行为是 chrome 的错误吗?我错过了这个属性的东西吗?能解释一下吗。另外,如果我删除了 .contenedor(它有 padding:0),问题就会消失,左右边距计算正确,但我仍然不明白。

谢谢。

PD,我不是要修复布局或 css,我只是想了解为什么会这样。

更新:我忘了说,我的 chrome 版本是 Ubuntu 14.04 上的版本 39.0.2171.99(64 位)

最佳答案

正如 Bootstrap 的文档所说(http://getbootstrap.com/css/#grid),行必须放在容器中,列必须放在行中。

您将所有内容都放在一个列中。我已经排除了第一个 col-xs-12,它在这里工作(Chrome/Firefox 和 Ubuntu 14.04 也是如此)。

<div class="container contenedor">
<div class="row">
<div class="col-xs-12 col-md-8">
<div class="filler green">Green</div>
</div>
<div class="col-xs-12 col-md-4">
<div class="filler orange">Orange</div>
</div>
</div>
</div>

关于css - 为什么 margin :auto is calculated different on chrome?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28102922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com