Error Empty url() value
What happens when a CSS url() function is left empty, and why it's usually a leftover from a template or build step.
The validator flags url(), url(''), or url("") — a url() function with nothing (or only empty quotes) inside it.
Example
/* Wrong: points at nothing */
.hero { background-image: url(); }
/* Right */
.hero { background-image: url("/images/hero.jpg"); }Why it matters
An empty url() doesn't point at any resource, so the browser has nothing to request — for background-image it simply renders no background, and for other url()-accepting properties (@font-face src, cursor, mask, and similar) the behavior is the same: quietly nothing happens, with no console error in most browsers. This is rarely typed by hand — it's almost always the result of a template variable that resolved to an empty string (a CMS field left blank, a build-time asset path that failed to resolve) getting interpolated straight into the stylesheet without a check for emptiness.
Frequently asked questions
Does an empty url() throw a CSS error?
No — it's syntactically valid CSS (url() accepts an empty string), so it parses fine and simply resolves to no resource. That's exactly why it's easy to miss: there's no parse error to flag it, just a missing background or font that has to be noticed visually.
Is this the same issue as a broken/404 image URL?
No — a URL that 404s is a real (if wrong) reference the browser attempts to fetch, and that failure typically shows up in devtools' network tab. An empty url() never attempts a request at all.