我正在尝试使用背景在 div 中创建网格。自然, background-size 属性是创建网格的好方法,其中 10% 的大小将在 div 中创建 10 个均匀分布的单元格,例如:
div{
width:200px;
border:solid 1px black;
background-size: 10% 1px;
background-image: linear-gradient(to left, gray 1px, transparent 1px);
}
<div>x</div>
但是,我还需要将 box-sizing 设置为“border-box”,否则该框占用的像素多于通过 width 属性指定的像素。这会在 Chrome 中使用按百分比指定的背景大小造成各种破坏,例如:
div{background-color:white;}
#d1 {
width:200px;
border:solid 1px black;
background-size: 10% 1px;
background-image: linear-gradient(to left, gray 1px, transparent 1px);
padding:5px;
box-sizing:border-box;
}
#d2 {
width:200px;
border:solid 1px black;
background-size: 10% 1px;
background-image: linear-gradient(to left, gray 1px, transparent 1px);
padding:5px;
}
<div id="d1">more than 10 cells</div>
<p>
<div id="d2">box is bigger than 200px</div>
请注意,顶部 div (d1) 中显示了超过 10 个单元格,尽管每个单元格都应该是 div 宽度的 10%。
似乎这只是一个 Chrome 问题,但如果有人对此有解决方案,请告诉我。