回答

0

如果你想要它是一个20个单元格,你应该给容器的宽度为400px而不是412px。

.container { 
    width: 400px; 
    padding-bottom: 30%; 
    background: rgba(0,0,0, .4) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAA3SURBVEhL7cwxEQAgDMVQXP+tNYedKmDBQEbY8u6yZnX3Xr84R86Rc+QcOUfOkXNUVSfJvC9zAWrdZxj51zBJAAAAAElFTkSuQmCC); 
    background-size: 5% auto; 
} 

编辑

所以,你正在尝试做的是使背景图像总是有一个像20个细胞在x轴上,而它的可扩展性和高度应始终=宽度。所以这很难实现我认为与背景图像。我能想到的只是用一个正方形做一个png或svg,然后在y轴上重复插入20次作为背景图像。通常情况下,你不能设置的背景下,重复一个固定的数字,但似乎有一点的黑客这个我发现这里: repeat css background image a set number of times(它不会在IE9和更早)

background-image: url('square.png'), 
        url('square.png'), 
        url('square.png'); 
background-repeat: repeat-y, 
        repeat-y, 
        repeat-y; 
background-size: 5% auto, 
       5% auto, 
       5% auto; 
background-position: left top, 
        5% top, 
        10% top; 

这样我就可以“T向你保证这会工作,但你至少可以尝试一下:)

+0

好的,但以百分比的形式应用大小有点奇怪。我可以避免这种行为,并使它们真的有5%的宽度,就像它对块的工作方式一样。 –

+0

Marcel Wasilewski is'nt 5%x 20%= 100%,我检查它的hapen只在chrome中的firfoxe它的罚款20箱,所以它的意思是这是浏览器问题 –

+0

是啊,你将不得不插入背景20次,而不是只有3,我认为这是合乎逻辑的... –

0

Modified a bit to achieve, please check it

.container { 
 
    width: 420px; 
 
    padding-bottom: 30%; 
 
    background: rgba(0,0,0, .4) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAA3SURBVEhL7cwxEQAgDMVQXP+tNYedKmDBQEbY8u6yZnX3Xr84R86Rc+QcOUfOkXNUVSfJvC9zAWrdZxj51zBJAAAAAElFTkSuQmCC); 
 
    background-size: 5.1% auto; 
 
}