Free tools Windows power users keep installed
One-click scans. No signup required.
For modern projects, create a cross-browser CSS gradient with the standard, unprefixed linear-gradient() function, then verify the exact syntax against the browser versions your project supports. Add vendor-prefixed declarations only when a specific legacy browser in that support policy requires them.
Write a standard linear gradient
A linear gradient is an image generated from at least two color stops. Use it in an image-valued property such as background or background-image:
.hero {
background: linear-gradient(to right, #17324d, #68b5a7);
}
The two colors are the gradient’s stops. The browser draws a smooth transition between them. You can add more stops and specify their positions to control where the colors change:
.banner {
background: linear-gradient(135deg, #17324d 0%, #376f82 55%, #68b5a7 100%);
}
A gradient has no intrinsic dimensions: its rendered size follows the element it paints. It is an image, not a color value, so use background or background-image, not background-color.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minute#1 Best Overall
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
Choose the direction and stops
You can specify a side or corner, such as to right, or provide an angle. If you omit the direction, the gradient runs from top to bottom. In CSS angle notation, 0deg points bottom to top and 90deg points left to right.
to rightruns horizontally from left to right.to bottomruns vertically from top to bottom.135degsets a diagonal direction.
For example, these declarations use the same colors but different directions:
Rank #2
.horizontal {
background-image: linear-gradient(to right, #17324d, #68b5a7);
}
.diagonal {
background-image: linear-gradient(135deg, #17324d, #68b5a7);
}
Check compatibility against your actual browser targets
CSS gradients are broadly available across browsers; MDN describes the <gradient> type as widely available since July 2015. That broad statement does not guarantee support for every newer part of gradient syntax. Features such as color-interpolation choices can have different compatibility from a basic two-color linear-gradient().
- List the browser names and minimum versions your project promises to support.
- Identify the exact gradient syntax you plan to use, not just the function name.
- Check that feature against compatibility data for those targets, then test in the browsers your support policy requires.
- If a feature falls outside the supported set, choose a simpler gradient syntax or provide a suitable fallback.
There is no single browser-version floor that is correct for every project. Decide from your own support policy, and do not turn a broad availability statement into a claim that every syntax variation works everywhere.
Rank #3
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
Use vendor prefixes only for a defined legacy requirement
For ordinary modern CSS, write the standard declaration. Prefixes reflect historical experimental or non-standard implementations, not a universal compatibility checklist. MDN’s CSS FAQ cautions against routine use of prefixed properties on production sites; its general fallback guidance, when prefixes are required, is to put the prefixed declaration first and the standard declaration after it. MDN’s Mozilla extensions reference recommends using linear-gradient() instead of -moz-linear-gradient.
Older Safari versions illustrate why legacy syntax should be tied to a specific target: Apple’s archived Safari guide records use of -webkit-gradient() in earlier releases and support for -webkit-linear-gradient() beginning with Safari 5.1 and iOS 5.0. Those historical details are useful when maintaining old code, not a recommendation to support those releases today.
Rank #4
If your documented support policy genuinely requires a prefixed form, confirm the exact browser and syntax first. A generic copied list can add unnecessary declarations without solving the compatibility issue you actually have.
Generate prefixes from project targets with Autoprefixer
For a managed CSS build, configure your supported browsers with Browserslist and let Autoprefixer generate the prefixes it considers necessary for those targets. Keep standard CSS as the readable source, and review the generated output against your support policy.
Best Value
Autoprefixer adds prefixes; it does not polyfill unsupported features. Its documentation also notes that legacy-only -webkit-gradient() input does not provide the unprefixed source needed for it to add other prefix forms. Keep modern, standard syntax in your source instead of relying on a legacy declaration to be transformed.
Troubleshoot a gradient that does not appear as expected
- No background is visible: confirm the element has dimensions or content to paint, and that the declaration is on the intended element. A gradient has no intrinsic size of its own.
- The browser rejects the declaration: check the CSS property and syntax. Use
backgroundorbackground-image; a gradient is not valid as abackground-colorvalue. - The direction looks reversed: remember that the default is top to bottom, while
0degmeans bottom to top and90degmeans left to right. - A newer gradient feature fails only in some browsers: check that exact syntax against the project’s minimum browser versions. Compatibility for the basic function does not establish compatibility for every extension.
- Autoprefixer emits no legacy form: verify the configured Browserslist targets and keep unprefixed gradient CSS as the input. Autoprefixer does not add polyfills or reliably reconstruct standard syntax from legacy-only
-webkit-gradient().
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. It can capture a page in a browser without requiring you to set up your own screenshot browser for this task. For gradient validation, make sure the page itself is built with the CSS and browser targets you intend to check; the screenshot service does not replace compatibility checks against your support policy.
One GET request returns an image or PDF. For example, save a screenshot as WebP:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo API documentation for request options. Cookie and consent banners are accepted and removed before capture, along with supported newsletter popups and chat widgets; each step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server lets AI agents use screenshot tools. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




