【发布时间】:2018-06-22 16:20:50
【问题描述】:
我正在尝试制作一个响应式正方形网格,看起来类似于方格纸。我使用了一个预先准备好的解决方案,我试图将其用于我的目的。我的 HTML 代码如下所示(4*4 方格的示例网格):
.square {
float: left;
position: relative;
width: 25%;
padding-bottom: 25%;
margin: 0%;
overflow: hidden;
}
.content {
position: absolute;
height: 100%;
width: 100%;
padding: 0%;
}
.table {
display: table;
height: 100%;
width: 100%;
padding: 0%;
margin: 0%;
}
.table-cell {
display: table-cell;
vertical-align: middle;
height: 100%;
width: 100%;
padding: 0%;
margin: 0%;
border: thin solid black;
}
<div id="grid">
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
<div class="square">
<div class="content">
<div class="table">
<div class="table-cell"></div>
</div>
</div>
</div>
</div>
网格在 Firefox 中正常。但是当我在 Chrome 中查看它时,它在第二行和第三行之间(以及第二和第三列之间)显示两行而不是一行。我试图将 .square 背景色设置为黑色。它部分工作,但有问题的线看起来比其他线更粗。有面糊解决方案吗?
【问题讨论】:
-
请添加可运行代码sn-p。这将增加人们检查您的代码的机会。
-
似乎“瘦”在 Chrome 中表示
0.5px,但在 Firefox/Edge 中表示1px。此外,您将宽度设置为25%,但容器(在这种情况下)不均分(在 sn-p 中它是605px宽)。这会产生长度为151.25px的正方形,这会导致在与实际像素对齐时出现舍入问题。也许试着把它放在你的容器上:background-image: linear-gradient(to bottom, transparent 99%, black 99%), linear-gradient(to right, transparent 99%, black 99%); background-size: 25%; -
@c69 它现在就在那里(不感谢我)。很抱歉没有把它放在第一位。我对网站不是很熟悉。
-
@Niet the Dark Absol 你能澄清一下吗?我试过 .square { float:left;位置:相对;背景图像:线性渐变(到底部,透明 99%,黑色 99%);背景图像:线性渐变(向右,透明 99%,黑色 99%);背景大小:25%; } 而且没有网格。
-
Similar issue 在 Chrome 中由舍入值引起
标签: html css google-chrome firefox browser