css - IE计算宽度问题

标签 css internet-explorer layout microsoft-edge calc

这是一个 fiddle :https://jsfiddle.net/ftqft005/1/

基本上,我希望每个红色的“东西”框并排对齐,两个排成一排,左右间距完全相等。所以,“左边的东西”在左边,“右边的东西”在右边。我知道如果我将 .product-link 的宽度从 -7.5px 更改为 -15px,它们会并排放置,但是这两个框不会在中心完全对齐。

所以基本上,如果我改变这个:

.product-link {
float: left;
background-color: red;
width: calc(99.99% * 1/2 - 7.5px);
width: calc(99.99% * 1/2 - 0.46875rem);
}

为此:

.product-link {
float: left;
background-color: red;
width: calc(99.99% * 1/2 - 15px);
width: calc(99.99% * 1/2 - 0.9375rem);
}

它有点工作,但它并不像在网站上的 Chrome 和 FireFox 中那样完美对齐。右边的空间比左边多一点。

我不确定为什么它甚至不能在 fiddle 中工作,因为相同的代码在 Chrome 和 FireFox 中对我有用,但在 IE 和 Edge 中会中断。

最佳答案

我想我明白了:https://jsfiddle.net/ftqft005/4/

基本上,我试图模拟这个插件:https://github.com/peterramsing/lost

这是我模仿的这个人的代码。它应该提供对称的三项网格布局。不过,我不确定是否需要清除。

div {
  width: calc(99.9% * 1/3 - (30px - 30px * 1/3));
}
div:nth-child(1n) {
  float: left;
  margin-right: 30px;
  clear: none;
}
div:last-child {
  margin-right: 0;
}
div:nth-child(3n) {
  margin-right: 0;
  float: right;
}
div:nth-child(3n + 1) {
  clear: both;
}

关于css - IE计算宽度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38617643/

相关文章:

html - 是否可以在输入的占位符后添加一个伪选择器

ios - 如何为 ios 实现网格布局

javascript - 如果 child 不在 parent 内部,则在悬停 parent 时保持对 child 的悬停效果

css - 绝对定位元素的包含 block 是什么?

css - 即 : Padding in horizontal scroll

javascript - IE 的 ArrayBuffer.prototype.slice 垫片?

Java将数据放入边框布局中

java - GridBagLayout 动态使用面板内的额外空间

javascript - IE 条件注释在 IE 11 Windows 8.1 和开发工具中不起作用

html - IE风格完全乱了