any-pointer

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2018.

The any-pointer CSS media feature tests whether the user has any pointing device (such as a mouse), and if so, how accurate it is.

Note: If you want to test the accuracy of the primary pointing device, use pointer instead.

Syntax

The any-pointer feature is specified as a keyword value chosen from the list below.

none

No pointing device is available.

coarse

At least one input mechanism includes a pointing device of limited accuracy.

fine

At least one input mechanism includes an accurate pointing device.

Note: More than one value can match if the available devices have different characteristics, although none only matches when none of them are pointing devices.

Examples

This example creates a small checkbox for users with at least one fine pointer and a large checkbox for users with at least one coarse pointer. The big checkbox takes precedence because it is declared after the small one.

HTML

html
<input id="test" type="checkbox" /> <label for="test">Look at me!</label>

CSS

css
input[type="checkbox"]:checked {
  background: gray;
}

@media (any-pointer: fine) {
  input[type="checkbox"] {
    appearance: none;
    width: 15px;
    height: 15px;
    border: 1px solid blue;
  }
}

@media (any-pointer: coarse) {
  input[type="checkbox"] {
    appearance: none;
    width: 30px;
    height: 30px;
    border: 2px solid red;
  }
}

Result

Specifications

Specification
Media Queries Level 4
# any-input

Browser compatibility

BCD tables only load in the browser

See also