@@ -601,7 +601,7 @@ user resizing of that element.
601
601
602
602
<pre class="propdef">
603
603
Name : cursor
604
- Value : [ [<<url>> [<x> <y>]?,]* <br>
604
+ Value : [ [ <<url>> | <<url-set>> ] [<x> <y>]? ]#? <br>
605
605
[ auto | default | none |<br>
606
606
context-menu | help | pointer | progress | wait | <br>
607
607
cell | crosshair | text | vertical-text | <br>
@@ -611,7 +611,7 @@ Value: [ [<<url>> [<x> <y>]?,]* <br>
611
611
col-resize | row-resize |
612
612
all-scroll |<br>
613
613
zoom-in | zoom-out <br>
614
- ] ]
614
+ ]
615
615
Initial : auto
616
616
Applies to : all elements
617
617
Inherited : yes
@@ -655,106 +655,116 @@ Values have the following meanings:
655
655
<dl dfn-type=value dfn-for=cursor id=cursors>
656
656
<dt> image cursors
657
657
<dd>
658
- <dl>
659
- <dt> <<url>>
660
- <dd>
661
- The user agent retrieves the cursor from the resource designated by the URI.
662
- If the user agent cannot handle the first cursor of a list of cursors,
663
- it must attempt to handle the second, etc.
664
- If the user agent cannot handle any user-defined cursor,
665
- it must use the cursor keyword at the end of the list.
666
- Conforming user agents may, instead of <<url>> , support <<image>> which is a superset.
667
-
668
- The UA must support the following image file formats:
669
-
670
- <ul>
671
- <li>
672
- PNG, as defined in [[!PNG]]
673
-
674
- <li>
675
- SVG, as defined in [[!SVG11]] ,
676
- in <a href="https://www.w3.org/TR/SVG2/conform.html#secure-static-mode">secure static mode</a> [[!SVG2]] ,
677
- if it has a [=natural size=] .
678
-
679
- <li>
680
- any other non-animated image file format that they support
681
- for <<image>> in other properties,
682
- such as the 'background-image' property
683
- </ul>
684
-
685
- In addition, the UA should support the following image file formats:
686
-
687
- <ul>
688
- <li>
689
- SVG, as defined in [[!SVG11]] ,
690
- in <a href="https://www.w3.org/TR/SVG2/conform.html#secure-animated-mode">secure animated mode</a> [[!SVG2]] ,
691
- if it has a [=natural size=] .
692
-
693
- <li>
694
- any other animated image file format that they support
695
- for <<image>> in other properties,
696
- such as the 'background-image' property
697
- </ul>
698
-
699
- The UA may also support additional file formats,
700
- including SVG, as defined in [[!SVG11]] ,
701
- in secure static mode or secure animated mode [[!SVG2]] ,
702
- even if it does not have a [=natural size=] .
703
-
704
- Note: The CSS Working Group initially intended support for all SVG,
705
- naturally sized or not.
706
- Support for non-naturally sized SVG was downgraded from mandatory to optional due
707
- to lack of implementations.
708
-
709
- Note: At the time of writing this specification (spring 2015),
710
- the only file formats supported for cursors in common desktop browsers are
711
- the .ico and .cur file formats, as designed by Microsoft.
712
- For compatibility with legacy content,
713
- UAs are encouraged to support these,
714
- even though the lack of an open specification
715
- makes it impossible to have a normative requirement
716
- about these formats.
717
- Some information on these formats can be found
718
- <a href="https://en.wikipedia.org/wiki/ICO_%28file_format%29">on Wikipedia</a> .
719
-
720
- The <a>default object size</a> for cursor images is
721
- a UA-defined size that should be based on
722
- the size of a typical cursor on the UA's operating system.
723
-
724
- The <a>concrete object size</a> is determined using
725
- the <a>default sizing algorithm</a> .
726
- If an operating system is
727
- <strong> incapable</strong> of rendering a cursor above a given size,
728
- cursors larger than that size must be shrunk to within
729
- the OS-supported size bounds,
730
- while maintaining the cursor image's [=natural aspect ratio=] , if any.
731
-
732
- The optional <x> and <y> coordinates
733
- identify the exact position within the image which is the pointer position (i.e., the hotspot).
734
-
735
- <dt> <x>
736
- <dt> <y>
737
- <dd>
738
- Each is a <<number>> .
739
- The x-coordinate and y-coordinate of the position
740
- in the cursor's coordinate system (left/top relative)
741
- which represents the precise position that is being pointed to.
742
-
743
- Note: This specification does not define
744
- how the coordinate systems of the various types of <<image>> are established,
745
- and defers these definitions to [[CSS4-IMAGES]] .
746
-
747
- If the values are unspecified,
748
- then the natural hotspot defined inside the image resource itself is used.
749
- If both the values are unspecific and the referenced cursor has no defined hotspot,
750
- the effect is as if a value of "0 0" was specified.
751
-
752
- If the coordinates of the hotspot,
753
- as specified either inside the image resource or
754
- by <x> and <y> values,
755
- fall outside of the cursor image,
756
- they must be clamped (independently) to fit.
757
- </dl>
658
+ The first (optional) component of the 'cursor' property
659
+ is a list of image-based cursors.
660
+ If the user agent cannot handle the first cursor of a list of cursors,
661
+ it must attempt to handle the second, etc.
662
+ If the user agent cannot handle any of these author-defined cursors,
663
+ it must use the keyword-based cursor at the end of the list.
664
+
665
+ Each author-defined image-based cursor is defined by the following values:
666
+
667
+ <dl>
668
+ <dt> <<url>> | <<url-set>>
669
+ <dd>
670
+ The user agent retrieves the cursor from the resource designated by the <<url>> or <<url-set>> .
671
+ Conforming user agents may, instead of <<url>> and <<url-set>> ,
672
+ support <<image>> which is a superset.
673
+
674
+ <dfn type><url-set></dfn> is a limited version of ''image-set()'' ,
675
+ where only <<url>> and <<url-set>> can be used
676
+ in the part of the <<image-set-option>> sub-production which would normally allow <<image>> .
677
+
678
+ The UA must support the following image file formats:
679
+
680
+ <ul>
681
+ <li>
682
+ PNG, as defined in [[!PNG]]
683
+
684
+ <li>
685
+ SVG, as defined in [[!SVG11]] ,
686
+ in <a href="https://www.w3.org/TR/SVG2/conform.html#secure-static-mode">secure static mode</a> [[!SVG2]] ,
687
+ if it has a [=natural size=] .
688
+
689
+ <li>
690
+ any other non-animated image file format that they support
691
+ for <<image>> in other properties,
692
+ such as the 'background-image' property
693
+ </ul>
694
+
695
+ In addition, the UA should support the following image file formats:
696
+
697
+ <ul>
698
+ <li>
699
+ SVG, as defined in [[!SVG11]] ,
700
+ in <a href="https://www.w3.org/TR/SVG2/conform.html#secure-animated-mode">secure animated mode</a> [[!SVG2]] ,
701
+ if it has a [=natural size=] .
702
+
703
+ <li>
704
+ any other animated image file format that they support
705
+ for <<image>> in other properties,
706
+ such as the 'background-image' property
707
+ </ul>
708
+
709
+ The UA may also support additional file formats,
710
+ including SVG, as defined in [[!SVG11]] ,
711
+ in secure static mode or secure animated mode [[!SVG2]] ,
712
+ even if it does not have a [=natural size=] .
713
+
714
+ Note: The CSS Working Group initially intended support for all SVG,
715
+ naturally sized or not.
716
+ Support for non-naturally sized SVG was downgraded from mandatory to optional due
717
+ to lack of implementations.
718
+
719
+ Note: At the time of writing this specification (spring 2015),
720
+ the only file formats supported for cursors in common desktop browsers are
721
+ the .ico and .cur file formats, as designed by Microsoft.
722
+ For compatibility with legacy content,
723
+ UAs are encouraged to support these,
724
+ even though the lack of an open specification
725
+ makes it impossible to have a normative requirement
726
+ about these formats.
727
+ Some information on these formats can be found
728
+ <a href="https://en.wikipedia.org/wiki/ICO_%28file_format%29">on Wikipedia</a> .
729
+
730
+ The <a>default object size</a> for cursor images is
731
+ a UA-defined size that should be based on
732
+ the size of a typical cursor on the UA's operating system.
733
+
734
+ The <a>concrete object size</a> is determined using
735
+ the <a>default sizing algorithm</a> .
736
+ If an operating system is
737
+ <strong> incapable</strong> of rendering a cursor above a given size,
738
+ cursors larger than that size must be shrunk to within
739
+ the OS-supported size bounds,
740
+ while maintaining the cursor image's [=natural aspect ratio=] , if any.
741
+
742
+ The optional <x> and <y> coordinates
743
+ identify the exact position within the image which is the pointer position (i.e., the hotspot).
744
+
745
+ <dt> <x>
746
+ <dt> <y>
747
+ <dd>
748
+ Each is a <<number>> .
749
+ The x-coordinate and y-coordinate of the position
750
+ in the cursor's coordinate system (left/top relative)
751
+ which represents the precise position that is being pointed to.
752
+
753
+ Note: This specification does not define
754
+ how the coordinate systems of the various types of <<image>> are established,
755
+ and defers these definitions to [[CSS4-IMAGES]] .
756
+
757
+ If the values are unspecified,
758
+ then the natural hotspot defined inside the image resource itself is used.
759
+ If both the values are unspecific and the referenced cursor has no defined hotspot,
760
+ the effect is as if a value of "0 0" was specified.
761
+
762
+ If the coordinates of the hotspot,
763
+ as specified either inside the image resource or
764
+ by <x> and <y> values,
765
+ fall outside of the cursor image,
766
+ they must be clamped (independently) to fit.
767
+ </dl>
758
768
759
769
<dt> general purpose cursors
760
770
<dd>
@@ -2452,6 +2462,11 @@ the following normative changes have been made:
2452
2462
<ul>
2453
2463
<li>
2454
2464
Introduce a definition for the 'pointer-events' property.
2465
+
2466
+ <li>
2467
+ Extend the image types required to be supported for the 'cursor' property
2468
+ from just <<url>> to <<url>> and <<url-set>> .
2469
+ (Support for the broader <<image>> type remains allowed but optional.)
2455
2470
</ul>
2456
2471
2457
2472
<h3 id=changes-24-1-2020 class=no-num>Changes from the
0 commit comments