CSS selector page template

Remove before publishing

Title and slug

A CSS selector page should have a title and slug of NameOfTheSelector. For example, the :hover selector has a title and slug of :hover.

Top macros

There are four macro calls at the top of the template by default. You should update or delete them according to the advice below:

  • {{CSSRef}} — this generates a suitable CSS sidebar, depending on what tags are included on the page.
  • {{Draft}} — this generates a Draft banner that indicates that the page is not yet complete, and should only be removed when the first draft of the page is completely finished. After it is ready to be published, you can remove this.
  • {{SeeCompatTable}} — this generates a This is an experimental technology banner that indicates the technology is experimental). If the technology you are documenting is not experimental, you can remove this. If it is experimental, and the technology is hidden behind a pref in Firefox, you should also fill in an entry for it in the Experimental features in Firefox page.
  • {{Deprecated_Header}} — this generates a Deprecated banner that indicates the technology is deprecated. If it isn't, then you can remove the macro call.


In an CSS selector subpage, you need to include the following tags (see the Tags section at the bottom of the editor UI): CSS, Reference, Layout, the name of the Selector (e.g. :hover), Layout, Selectors, Basic Selectors/Combinators/Pseudo-classes/Pseudo-elements/other category as appropriate, Experimental (if the technology is experimental), and Deprecated (if it is deprecated).

Browser compatibility and specifications

To fill in the browser compat data and specifications sections, you first need to fill in an entry for the API into our Browser compat data repo — see our guide on how to do this.

Once that is done, you can show the compat data for the CSS selector with a {{Compat}} macro call and its specification information with a {{Specifications}} macro call.

{{CSSSyntax}} section

To generate these sections, you need to make sure appropriate entry has been filled in for the selector in our selectors.json data file. See selectors.md for more information.


This page is not complete.


This is an experimental technology
Check the Browser compatibility table carefully before using this in production.


This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The summary paragraph — start by naming the selector and saying what it does. This should ideally be 1 or 2 short sentences.

/* Insert code block showing common use cases */




Fill in a simple example that nicely shows a typical usage of the selector, then perhaps some more complex examples (see our guide on how to add code examples for more information).

my code block

And/or include a list of links to useful code samples that live elsewhere:

  • x
  • y
  • z

Accessibility concerns

Optionally, warn of any potential accessibility concerns that exist with using this selector, and how to work around them. Remove this section if there are none to list.


No specification found

No specification data found for css.selectors.NameOfTheSelector.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility

No compatibility data found for css.selectors.NameOfTheSelector.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

See also

  • Include list of
  • other links related to
  • this Element that might
  • be useful