// Compatibility for browsers. // rotate for ie8 and blow .ie-rotate(@rotation) { -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; } // rotate for ie8 and blow // degrees unit .ie-rotate-via-degrees(@degrees) { /* IE6-IE8 */ @radians: ~`parseInt("@{degrees}") * Math.PI * 2 / 360`; @costheta: ~`Math.cos("@{radians}")`; @sintheta: ~`Math.sin("@{radians}")`; @negsintheta: ~`"@{sintheta}" * -1`; -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=@{costheta}, M12=@{negsintheta}, M21=@{sintheta}, M22=@{costheta})"; zoom: 1; :root & { filter: none; } } // support rotate for all browsers .cross-rotate(@degrees) { .rotate(@degrees); .ie-rotate-via-degrees(@degrees); } // for iconfont font size // fix chrome 12px bug, support ie .iconfont-size-under-12px(@size, @rotate: 0deg) { display: inline-block; @font-scale: unit(@size/@font-size-base); font-size: @font-size-base; font-size: ~"@{size} \9"; // ie8-9 transform: scale(@font-scale) rotate(@rotate); .ie-rotate-via-degrees(@rotate); :root & { font-size: @font-size-base; // reset ie9 and above } } // Placeholder text .placeholder(@color: @input-placeholder-color) { // Firefox &::-moz-placeholder { color: @color; opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526 } // Internet Explorer 10+ &:-ms-input-placeholder { color: @color; } // Safari and Chrome &::-webkit-input-placeholder { color: @color; } }