Merge "Improve sorting on SpecialWanted*-Pages"
[mediawiki.git] / resources / src / mediawiki.ui / components / icons.less
blobf169d1b603ef6496620611447c31ad19a6daab49
1 @import 'mediawiki.mixins';
2 @import 'mediawiki.ui/variables';
4 // Mixins
5 .mixin-mw-ui-icon-bgimage( @iconSvg, @iconPng ) {
6         &.mw-ui-icon {
7                 &:before {
8                         .background-image-svg( @iconSvg, @iconPng );
9                 }
10         }
13 // Icons
15 // To use icons you must be using a browser that supports pseudo elements.
16 // This includes support for IE 8.
17 // http://caniuse.com/#feat=css-gencontent
19 // For elements that are intended to have both an icon and text, browsers that
20 // do not support pseudo-selectors will degrade to text-only.
22 // However, icon-only elements do not yet degrade to text-only elements in these
23 // browsers.
25 // Styleguide 6.
27 .mw-ui-icon {
28         position: relative;
29         line-height: @iconSize;
30         min-height: @iconSize;
31         min-width: @iconSize;
33         // Standalone icons
34         //
35         // Markup:
36         // <div class="mw-ui-icon mw-ui-icon-element mw-ui-icon-ok">OK</div><br>
37         // <div class="mw-ui-icon mw-ui-icon-element mw-ui-icon-ok mw-ui-button mw-ui-progressive">OK</div><br>
38         // <button class="mw-ui-icon mw-ui-icon-ok mw-ui-icon-element mw-ui-button mw-ui-quiet" title="">Close</button>
39         //
40         // Styleguide 6.1.1.
41         &.mw-ui-icon-element {
42                 @width: @iconSize + ( 2 * @iconGutterWidth );
44                 text-indent: -999px;
45                 overflow: hidden;
46                 width: @width;
47                 min-width: @width;
48                 max-width: @width;
50                 &:before {
51                         left: 0;
52                         right: 0;
53                         position: absolute;
54                         margin: 0 @iconGutterWidth;
55                 }
56         }
58         &.mw-ui-icon-before:before,
59         &.mw-ui-icon-element:before {
60                 background-position: 50% 50%;
61                 background-repeat: no-repeat;
62                 background-size: 100% auto;
63                 float: left;
64                 display: block;
65                 min-height: @iconSize;
66                 content: '';
67         }
69         // Icons with text
70         //
71         // Markup:
72         // <div class="mw-ui-icon mw-ui-icon-before mw-ui-icon-ok">OK</div>
73         // <div class="mw-ui-icon mw-ui-icon-before mw-ui-icon-ok mw-ui-progressive mw-ui-button">OK</div>
74         //
75         // Styleguide 6.1.2
76         &.mw-ui-icon-before {
77                 &:before {
78                         position: relative;
79                         width: @iconSize;
80                         margin-right: @iconGutterWidth;
81                 }
82         }
84         // Icons small for elements like indicators
85         //
86         // Markup:
87         // <div class="mw-ui-icon mw-ui-icon-small mw-ui-icon-help"></div>
88         //
89         // Styleguide 6.1.3
90         &.mw-ui-icon-small:before {
91                 background-size: 66.67% auto; // 66.67% of 24px equals 16px
92         }