CSS arguments

introduction

The CSS switches precisely control CSS interpretation. If you are checking a site with a CSS version contemporary to the given HTML version (see html.version), you can ignore them. Otherwise, you probably only need css.version.

css.version

css.version accepts the following values:

riff on name
1 CSS 1.0
2.0 CSS 2.0
2.1 CSS 2.1
2.2 CSS 2.2 (Feb 2022 draft)
3 all CSS level 3
4 all CSS level 4
5 all CSS level 5
6 all CSS level 6
2007 2007 snapshot
2010 2010 snapshot
2015 2015 base snapshot
2015+ 2015 wibbly snapshot
2015++ 2015 wibbly–wobbly snapshot
2017 2017 base snapshot
2017+ 2017 wibbly snapshot
2017++ 2017 wibbly–wobbly snapshot
2018 2018 base snapshot
2018+ 2018 wibbly snapshot
2018++ 2018 wibbly–wobbly snapshot
2020 2020 base snapshot
2020+ 2020 wibbly snapshot
2020++ 2020 wibbly–wobbly snapshot
2021 2021 base snapshot
2021+ 2021 wibbly snapshot
2021++ 2021 wibbly–wobbly snapshot
2022 2022 base snapshot
2022+ 2022 wibbly snapshot
2022++ 2022 wibbly–wobbly snapshot
2023 2023 base snapshot
2023+ 2023 wibbly snapshot
2023++ 2023 wibbly–wobbly snapshot
2024 2024 base snapshot
2024+ 2024 wibbly snapshot
2024++ 2024 wibbly–wobbly snapshot

The years are CSS snapshots, whether the year itself for stable modules, with + for wobbly modules, and ++ for wibbly–wobbly modules, as per the corresponding W3 CSS snapshots (the terminology in those snapshots is inconsistent, hence the use of the whovian scientific terms ‘wobbly’ and ‘wibbly–wobbly’).

CSS module numbering is inconsistent. CSS level 1 was defined in 1997, and the definition is complete, yet some CSS modules have been published more recently and claim to be part of CSS level 1, even though:

  • they depend on other modules which are not part of CSS level 1,
  • the contents of the module are not included in the CSS level 1 specification.

ssc ignores these inconsistencies, and pretends that all modules published after the CSS level 1 and CSS level 2 specifications are level three and higher, as per the great majority of such modules.

Thus, for levels 3, 4, 5 and 6, modules that are part of neither CSS 1 nor CSS 2.x specifications are numbered three and upwards in ssc. Hence, if you wish to use an extension named … level 1, that is not part of CSS 1, specify 3. Similarly, for those named level 2 that are not part of any CSS 2 specification, specify 4, etc..

other CSS arguments

These other switches allow you to precisely specify the CSS modules presumed, and will only be useful in very specific circumstances. Specific modules are defined at w3.org.

css.adjust X Use CSS Colour Adjustment level X, where X is 0 or 3.
css.anchor X Use CSS Scrollbar Anchoring level X, where X is 0 or 3.
css.animation X Use CSS Animation level X, where X is 0, 3 or 4.
css.background X Use CSS Backgrounds and Borders level X, where X is 0 or 3.
css.box-align X Use CSS Box Alignment level X, where X is 0 or 3.
css.box-model X Use CSS Box Model level X, where X is 0, 3 or 4.
css.box-sizing X Use CSS Box Sizing level X, where X is 0, 3 or 4.
css.cascade X Use CSS Cascading and Inheritance level X, where X is 0, 3, 4, 5 or 6.
css.colour X Use CSS Colour level X, where X is 0, 3, 4 or 5.
css.compositing X Use CSS Compositing and Blending level X, where X is 0 or 3.
css.cond-rule X Use CSS Conditional Rules level X, where X is 0, 3, 4, or 5.
css.contain X Use CSS Contain level X, where X is 0, 3, 4 or 5: see --css.version for gen.
css.content X Use CSS Generated Content level X, where X is 0 or 3.
css.cs X Use CSS Counter Style level X, where X is 0 or 3.
css.custom X Use CSS Custom Properties for Cascading Variables level X, where X is 0 or 3.
css.device X Use CSS Device Adaption level X, where X is 0 or 3.
css.display X Use CSS Display level X, where X is 0 or 3.
css.ease X Use CSS Easing Functions level X, where X is 0 or 3.
css.exclude X Use CSS Exclusions level X, where X is 0 or 3.
css.extension ext Presume files with extension ‘.ext’ are CSS files.
css.fbl X Use CSS Flexible Box Layout level X, where X is 0 or 3.
css.filter X Use CSS Filter Effects level X, where X is 0 or 3.
css.float X Use CSS Page Floats level X, where X is 0 or 3.
css.font X Use CSS Fonts level X, where X is 0, 3, 4 or 5.
css.frag X Use CSS Fragmentation level X, where X is 0, 3, or 4.
css.grid X Use CSS Grid level X, where X is 0, 3 or 4: see --css.version for gen.
css.highlight X Use CSS Custom Highlights level X, where X is 0 or 3.
css.image X Use CSS Images level X, where X is 0, 3 or 4.
css.inline X Use CSS Inline Layout level X, where X is 0 or 3.
css.line-grid X Use CSS Line Grid level X, where X is 0 or 3.
css.list X Use CSS Lists and Counters level X, where X is 0 or 3.
css.logic X Use CSS Logical Properties level X, where X is 0 or 3.
css.marquee X Use CSS Marquee level X, where X is 0 or 3.
css.masking X Use CSS Masking level X, where X is 0 or 3.
css.media X Use CSS Media Queries level X, where X is 0, 3, 4 or 5.
css.mobile Test against the CSS Mobile Profile.
css.multi-column X Use CSS Multi-Column level X, where X is 0 or 3.
css.namespace X Use CSS Namespaces level X, where X is 0 or 3.
css.nes X Use CSS Non-Element Selectors level X, where X is 0 or 3.
css.overflow X Use CSS Overflow level X, where X is 0, 3 or 4.
css.overscroll X Use CSS Overscroll Behaviour level X, where X is 0 or 3.
css.page X Use CSS Paged Media level X, where X is 0 or 3.
css.position X Use CSS Positions level X, where X is 0 or 3.
css.present X Use CSS Presentation Levels level X, where X is 0 or 3.
css.print Test against the CSS Print Profile.
css.region X Use CSS Regions level X, where X is 0 or 3.
css.rhythm X Use CSS Rhythmic Sizing level X, where X is 0 or 3.
css.round X Use CSS Round Display level X, where X is 0 or 3.
css.ruby X Use CSS Ruby Annotations level X, where X is 0 or 3.
css.scope X Use CSS Scoping level X, where X is 0 or 3.
css.scrollbar X Use CSS Scrollbar Style level X, where X is 0 or 3.
css.sda X Use CSS Scroll-Driven Animations Style level X, where X is 0 or 3.
css.selector X Use CSS Selectors level X, where X is 0, 3 or 4.
css.shadow X Use CSS Shadow Parts level X, where X is 0 or 3.
css.shape X Use CSS Shapes level X, where X is 0, 3 or 4.
css.snap X Use CSS Scroll Snap level X, where X is 0 or 3.
css.spatial X Use CSS Spatial Navigation level X, where X is 0 or 3.
css.speech X Use CSS Speech level X, where X is 0 or 3.
css.style X Use CSS Style level X, where X is 0 or 3.
css.syntax X Use CSS Syntax level X, where X is 0 or 3.
css.table X Use CSS Tables level X, where X is 0 or 3 (this is an experimental spec, likely to change).
css.text X Use CSS Text level X, where X is 0, 3 or 4.
css.text-dec X Use CSS Text Decoration level X, where X is 0, 3 or 4.
css.tv Test against the CSS TV Profile.
css.transform X Use CSS Transforms level X, where X is 0, 3 or 4: see --css.version for gen.
css.transition X Use CSS Transitions level X, where X is 0 or 3.
css.ui X Use CSS Basic User Interface level X, where X is 0, 3 or 4.
css.value X Use CSS Values and Units level X, where X is 0, 3 or 4.
css.verify Verify CSS files (replaces --general.css).
css.view X Use CSS View Transitions level X, where X is 0 or 3.
css.wc X Use CSS Will Change level X, where X is 0 or 3.
css.writing X Use CSS Writing Mode level X, where X is 0, 3 or 4.

Dylan Harris
December 2024