RetardedDeveloper, если будет нужно менять плавно и производительно значение заливки, ставить фон на заливку, то тогда блоком надо делать (можно псевдоэлементом) + просто управлять степенью заливки с помощью JS:
У такого градиента, конечно, тоже можно менять размер, только это не будет производительно (он будет перерисовываться каждый раз).