背景大小与背景重复计数与明显的偏差

时间:2015-12-08 10:14:15

标签: html css background-image background-size background-repeat

我创建了方形图像并将其用作div的重复背景图像。

https://jsfiddle.net/cethbqog/2/

我申请了:

background-size: 5% auto;

我认为这将是连续20个细胞,但它没有发生。 任何人都可以帮我吗?

2 个答案:

答案 0 :(得分: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;
}

修改

因此,您要做的是使背景图像在x轴上始终具有20个单元格,同时它可以伸缩,高度应始终为=宽度。因此,我认为这很难实现背景图像。我能想到的是只用一个方格做一个png或svg然后插入20次作为背景图像,在y轴上重复。通常情况下你不能设置固定数量的背景重复,但是我在这里找到的似乎有点破解: 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;

所以我不能保证你会这样做,但你至少可以尝试一下:)

答案 1 :(得分: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;
}