-// Common LESS mixin library for MediaWiki
+// Common Less mixin library for MediaWiki
//
// By default the folder containing this file is included in $wgResourceLoaderLESSImportPaths,
// which makes this file importable by all less files via '@import "mediawiki.mixins";'.
background-image: e('/* @embed */') url(@url);
}
+// Deprecated in MW 1.27
.background-size(@width, @height) {
- // Vendor prefix for certain older opera browsers e.g. nintendo ds
- -o-background-size: @width @height;
// Vendor prefix is added to support Android 2
-webkit-background-size: @width @height;
background-size: @width @height;
}
-
.vertical-gradient(@startColor: gray, @endColor: white, @startPos: 0, @endPos: 100%) {
background-color: @endColor;
background-image: -moz-linear-gradient( top, @startColor @startPos, @endColor @endPos ); // Firefox 3.6+
// is not worth the harm done to modern ones.
.background-image-svg(@svg, @fallback) {
background-image: url(@fallback);
- background-image: -webkit-linear-gradient(transparent, transparent), e('/* @embed */') url(@svg);
background-image: linear-gradient(transparent, transparent), e('/* @embed */') url(@svg);
// Do not serve SVG to Opera 12, bad rendering with border-radius or background-size (T87504)
background-image: -o-linear-gradient(transparent, transparent), url(@fallback);
.transition(@value) {
-webkit-transition: @value; // Safari 3.1-6.0, iOS 3.2-6.1, Android 2.1-4.3
-moz-transition: @value; // Firefox 4-15
- -o-transition: @value; // Opera 10.5-12.0
transition: @value; // Chrome 26+, Firefox 16+, IE 10+, Safari 6.1+, Opera 12.1+, iOS 7+, Android 4.4+
}
}
.column-width(@value) {
- -webkit-column-width: @value;// Chrome Any, Safari 3+, Opera 11.1+
- -moz-column-width: @value;// Firefox 1.5+
- column-width: @value;// IE 10+
+ -webkit-column-width: @value; // Chrome Any, Safari 3+, Opera 15+
+ -moz-column-width: @value; // Firefox 1.5+
+ column-width: @value; // IE 10+, Opera 11.1-12.1
}
.column-break-inside-avoid() {
- -webkit-column-break-inside: avoid; // Chrome Any, Safari 3+, Opera 11.1+
+ -webkit-column-break-inside: avoid; // Chrome Any, Safari 3+, Opera 15+
page-break-inside: avoid; // Firefox 1.5+
- break-inside: avoid-column; // IE 10+
+ break-inside: avoid-column; // IE 10+, Opera 11.1-12.1
+}
+
+.flex-display(@display: flex) {
+ display: ~"-webkit-@{display}"; // iOS 6-, Safari 3.1-6
+ display: ~"-moz-@{display}"; // Firefox 21-
+ display: ~"-ms-@{display}box"; // IE 10
+ display: @display;
+}
+
+.flex(@grow: 1, @shrink: 1, @width: auto, @order: 1) {
+ // For 2009/2012 spec alignment consistency with current default
+ -webkit-box-pack: justify; // iOS 6-, Safari 3.1-6
+ -moz-box-pack: justify; // Firefox 21-
+ -ms-flex-pack: justify; // IE10 (2012 spec)
+ justify-content: space-between; // Current default
+
+ // 2009 spec only supports 'flexible' as opposed to grow (flexPositive)
+ // and shrink (flexNegative); default to grow value
+ -webkit-box-flex: @grow; // iOS 6-, Safari 3.1-6
+ -moz-box-flex: @grow; // Firefox 21-
+ width: @width; // Fallback for flex-basis
+
+ -ms-flex: @grow @shrink @width; // IE10
+ flex: @grow @shrink @width;
+
+ -webkit-box-ordinal-group: @order; // iOS 6-, Safari 3.1-6
+ -moz-box-ordinal-group: @order; // Firefox 21-
+ -ms-flex-order: @order; // IE10
+ order: @order;
}