CSS Level 3 Selectors
Perl 6
Switch branches/tags
Nothing to show
Latest commit 0ce689e May 3, 2017 @dwarring dwarring renamed repo
Failed to load latest commit information.
lib/CSS/Module/CSS3 tidy versioning Jan 23, 2017
t add license Apr 24, 2017
.gitattributes initial checkin Jan 15, 2015
.gitignore initial checkin Jan 15, 2015
LICENSE add license Apr 24, 2017
META6.json renamed repo May 3, 2017
README.md Update README.md Feb 7, 2015



This module extends CSS::Grammar::CSS3, to fully implement CSS Selectors Module Level 3. It provides grammar CSS::Module::CSS3::Selectors and actions class CSS::Module::CSS3::Selectors::Actions.


use CSS::Module::CSS3::Selectors;
my $actions = CSS::Module::CSS3::Selectors::Actions.new;
CSS::Module::CSS3::Selectors.parse('tr:nth-child(2n+1) span[class="example"]', :rule<selectors>, :$actions);
say $/.ast.perl;

Some of the key extensions are:

  • namespaces: svg|circle
  • attribute selections: span[class="example"]
  • structural selectors: tr:nth-child(2n+1) foo:nth-last-child(odd)
  • negation: body > h2:not(:first-of-type):not(:last-of-type)

See Also