Skip to main content
HTML Validation

CSS: “opacity”: X is not a “opacity” value.

About This CSS Issue

The opacity property takes a number such as 0.5 or a percentage such as 50%, so a quoted value like "" is invalid.

opacity sets how transparent an element and its content are, from 0 (fully transparent) to 1 (fully opaque, the initial value). Quotes turn whatever is between them into a CSS string, and opacity doesn't accept strings. "" is an empty string, and "0.5" fails for the same reason even though the number inside it is fine. Browsers drop the declaration, so the element keeps the opacity set by other rules, or stays fully opaque.

The empty pair of quotes often comes from a template or script that wraps the value in quotes and has nothing to print, as in style='opacity: "{{ opacity }}"' when the setting is empty. Write the number without quotes, or leave the declaration out when there's no value. Any other value the property can't parse, such as the word undefined printed by a script, gets the same message.

Numbers outside the 0 to 1 range, such as 1.5, are valid: browsers clamp them to the nearest limit. Global keywords such as inherit work too.

Invalid example

<div class="banner" style='opacity: "";'>
  <p>Spring offers</p>
</div>

Valid example

<div class="banner" style="opacity: 0.8;">
  <p>Spring offers</p>
</div>

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Help us improve our guides

Was this guide helpful?
🌍 Trusted by teams worldwide

Validate at scale.
Ship accessible websites, faster.

Automated HTML & accessibility validation for large sites. Check thousands of pages against WCAG guidelines and W3C standards in minutes, not days.

Scheduled Reports
API Access
Open Source Standards
€5 / week

1K Weekly

1,000 monthly checks. Cancel anytime.

Get 1K Weekly →

Join teams across 40+ countries