Несмотря на то, что число x строго не повторяется, как указано в @gcbenison, вы можете использовать свойство background-repeat: space
или, аналогично, background-position: round
и комбинировать любое из них с background-size
, чтобы обеспечить заданное числоповторений для фонового изображения, а затем, возможно, отрегулируйте размер оболочки для размещения.
И space
, и repeat
будут повторять фоновое изображение бесконечно, пока все изображение может быть показанохотя для любого остатка space
добавит промежуток между изображениями, в то время как round
будет масштабировать изображения.Проще говоря, если фоновое изображение помещается в 3,342 раза по вертикали, то и space
, и round
будут показывать изображение 3 раза, при этом space
добавляет разрыв между каждым повторяющимся изображением, а round
увеличивает изображение вверх (или вниз).(при необходимости), чтобы заполнить пробел.
Если вы хотите повторить изображение 5 раз, причем каждое изображение имеет ширину 20 пикселей и расстояние между ними 5 пикселей, вы можете просто сделать это:
.star-rating {
width: 120px;
background-image: url('example.jpg');
background-repeat: space;
background-size: 20px auto;
}
https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat
Другой вариант (если вы не можете установить ширину) состоит в том, чтобы использовать решение из @franzlorenzon и просто объявить фон x несколько раз, используя CSS-свойство множественного фона.
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Backgrounds_and_Borders/Using_multiple_backgrounds
Кроме того, вы можете сохранить ввод нескольких строк, используя SASS, создав цикл @for
, например, так:
$image_count: 5;
$image_url: 'url(star.svg)';
$image_position: '0';
@for $i from 1 through ($image_count - 1) {
$image_url: #{ $image_url+', '+$image_url };
$image_position: #{ $image_position+', '+($i * (100% / $image_count)) };
}
.star-rating {
background-image: $image_url;
background-position: $image_position;
background-size: 20px;
background-repeat: no-repeat;
}
После этого будут сгенерированы фоновые изображения.все равномерно разнесено.Кроме того, вы можете сменить ($i * (100% / $image_count))
на ($i * VALUE)
для фиксированного интервала.