Browser Compatibility
Shilp CSS has a clear and intentional compatibility baseline.
It is designed for modern browsers only, with no legacy fallbacks, no hidden polyfills, and no bleeding-edge features, while respecting the baseline.
Browser Support
Shilp CSS supports All major browsers available since January 31, 2023.
This includes:
- Chrome 109
- Safari 16.3
- Edge 109
- Firefox 109
This baseline is enforced using Lightning CSS and by carefully choosing which selectors (mixins), properties, and values.
Why This Baseline?
Shilp CSS is built for clarity and predictability.
Supporting older browsers would require:
- Conditional behavior
- Fallback utilities
- Silent polyfills
- Diverging output
All of these make systems harder to reason about.
So, Shilp CSS chooses a clear baseline:
- Modern features are included
- Unsupported features are excluded
- Nothing fails silently
What This Means in Practice
With the default configuration:
- Modern CSS features, work by default
- Output is consistent across supported browsers
- There is no runtime detection or branching
- There are no automatic polyfills
If something is unsupported, it is not included, not partially shimmed.
Deliberate Limitations
Some features are intentionally restricted, even if they are partially supported across browsers.
Examples:
:has()is not enabled by default- Support stabilized after the baseline cutoff
::selectionhas known limitations- Not supported in iOS Safari
::markersupports only widely-safe properties- Color and size only
- Line clamping uses vendor-prefixed approaches
- Based on what is widely supported today
These are not oversights. They are conscious choices to avoid undefined behavior.
Opting Into Newer Features
You are not locked into the defaults.
If you want to Target newer browser versions, Enable additional CSS features or
Experiment beyond the baseline, You can do so explicitly via shilp.config.js
file.
The defaults are conservative by design, not by limitation.
Purging & Compatibility
During builds, Shilp CSS removes unused styles before final CSS processing.
The order is:
- Utilities are expanded into real CSS
- The bundler produces final CSS output
- Unused styles are purged
- Lightning CSS then applies Minification, Vendor prefixes and Safe fallbacks
Because Lightning CSS may add small fallback rules, the final output can include CSS that did not exist before purging.
As with any purge system, 100% unused CSS removal is not guaranteed. This is a known and accepted tradeoff.
Legacy Browser Support
If you project requires Legacy browser support, Automatic polyfills or Backward compatibility guarantees, Shilp CSS's default config may not be the right fit.
In this case, You have to modify shilp.config.js file as per your
requirements.
Know More: Config
One Thing to Keep in Mind
Shilp CSS optimizes for:
Predictable behavior over pre-defined coverage
If you are building for modern browsers and you value clarity over speed, this baseline will feel natural.