|
|
|
.text-shadow(none) {
|
|
|
|
text-shadow: none;
|
|
|
|
-moz-text-shadow: none;
|
|
|
|
-webkit-text-shadow: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.text-shadow(@x, @y, @blur, @color) when not (@x = none) {
|
|
|
|
text-shadow: @arguments;
|
|
|
|
-moz-text-shadow: @arguments;
|
|
|
|
-webkit-text-shadow: @arguments;
|
|
|
|
}
|
|
|
|
|
|
|
|
.box-shadow(none) {
|
|
|
|
box-shadow: none;
|
|
|
|
-webkit-box-shadow: none;
|
|
|
|
-moz-box-shadow: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.box-shadow(@style, @c) when (iscolor(@c)) {
|
|
|
|
-webkit-box-shadow: @style @c;
|
|
|
|
-moz-box-shadow: @style @c;
|
|
|
|
box-shadow: @style @c;
|
|
|
|
}
|
|
|
|
|
|
|
|
.box-shadow(@x, @y, @blur, @spreed: 0px, @color, @inset: outset) when (iscolor(@color)) and (isnumber(unit(@spreed))){
|
|
|
|
box-shadow: @arguments;
|
|
|
|
-webkit-box-shadow: @arguments;
|
|
|
|
-moz-box-shadow: @arguments;
|
|
|
|
}
|
|
|
|
|
|
|
|
.background-color(@color, @alpha) {
|
|
|
|
background-color: fade(@color, @alpha);
|
|
|
|
@ieColor: argb(fade(@color, @alpha));
|
|
|
|
filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr=@{ieColor},endColorstr=@{ieColor})";
|
|
|
|
}
|
|
|
|
|
|
|
|
.opacity(@opa) {
|
|
|
|
opacity: @opa;
|
|
|
|
@opa-ie: @opa*100;
|
|
|
|
filter: ~'alpha(opacity=@{opa-ie})';
|
|
|
|
}
|
|
|
|
|
|
|
|
.transition(@transition) {
|
|
|
|
-webkit-transition: @transition;
|
|
|
|
-moz-transition: @transition;
|
|
|
|
-o-transition: @transition;
|
|
|
|
transition: @transition;
|
|
|
|
}
|
|
|
|
|
|
|
|
.rotate(@rotate) {
|
|
|
|
-webkit-transform: rotate(@rotate);
|
|
|
|
-moz-transform: rotate(@rotate);
|
|
|
|
transform: rotate(@rotate);
|
|
|
|
}
|
|
|
|
|
|
|
|
//渐变
|
|
|
|
.gradient(@start, @end) {
|
|
|
|
background: @start; //不支持的用这个
|
|
|
|
background: -webkit-gradient(linear, 0 0, 0 100%, from(@start) to(@end)); /*old webkit*/
|
|
|
|
background: -webkit-linear-gradient(@start, @end); /*new webkit*/
|
|
|
|
background: -moz-linear-gradient(@start, @end); /*gecko*/
|
|
|
|
background: -ms-linear-gradient(@start, @end); /*IE10 preview*/
|
|
|
|
background: -o-linear-gradient(@start, @end); /*opera 11.10+*/
|
|
|
|
background: linear-gradient(@start, @end); /*future CSS3 browsers*/
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@{start}', endColorstr='@{end}', GradientType='0');
|
|
|
|
}
|
|
|
|
|
|
|
|
// toSide表示渐变的方向, 使用角度兼容性好一些
|
|
|
|
.gradient(@toSide, @start, @end) when not (@toSide = none) {
|
|
|
|
background: @start; //不支持的用这个
|
|
|
|
background: -webkit-gradient(linear, 0 0, 0 100%, from(@start) to(@end)); /*old webkit*/
|
|
|
|
background: -webkit-linear-gradient(@toSide, @start, @end); /*new webkit*/
|
|
|
|
background: -moz-linear-gradient(@toSide, @start, @end); /*gecko*/
|
|
|
|
background: -ms-linear-gradient(@toSide, @start, @end); /*IE10 preview*/
|
|
|
|
background: -o-linear-gradient(@toSide, @start, @end); /*opera 11.10+*/
|
|
|
|
background: linear-gradient(@toSide, @start, @end); /*future CSS3 browsers*/
|
|
|
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@{start}', endColorstr='@{end}', GradientType='0');
|
|
|
|
}
|
|
|
|
|
|
|
|
.border-radius(@radius: 5px) {
|
|
|
|
-webkit-border-radius: @radius;
|
|
|
|
-moz-border-radius: @radius;
|
|
|
|
border-radius: @radius;
|
|
|
|
}
|
|
|
|
|
|
|
|
.border-corner-top-radius(@leftTop, @rightTop) {
|
|
|
|
-moz-border-radius-topleft: @leftTop;
|
|
|
|
-webkit-border-top-left-radius: @leftTop;
|
|
|
|
-moz-border-radius-topright: @rightTop;
|
|
|
|
-webkit-border-top-right-radius: @rightTop;
|
|
|
|
|
|
|
|
border-top-left-radius: @leftTop;
|
|
|
|
border-top-right-radius: @rightTop;
|
|
|
|
}
|
|
|
|
|
|
|
|
.border-corner-bottom-radius(@leftBottom, @rightBottom) {
|
|
|
|
-moz-border-radius-bottomleft: @rightBottom;
|
|
|
|
-webkit-border-bottom-left-radius: @rightBottom;
|
|
|
|
-moz-border-radius-bottomright: @leftBottom;
|
|
|
|
-webkit-border-bottom-right-radius: @rightBottom;
|
|
|
|
|
|
|
|
border-bottom-right-radius: @rightBottom;
|
|
|
|
border-bottom-left-radius: @leftBottom;
|
|
|
|
}
|
|
|
|
|
|
|
|
.border-corner-left-radius(@leftTop, @leftBottom) {
|
|
|
|
-moz-border-radius-topleft: @leftTop;
|
|
|
|
-webkit-border-top-left-radius: @leftTop;
|
|
|
|
-moz-border-radius-bottomleft: @leftBottom;
|
|
|
|
-webkit-border-bottom-left-radius: @leftBottom;
|
|
|
|
|
|
|
|
border-top-left-radius: @leftTop;
|
|
|
|
border-bottom-left-radius: @leftBottom;
|
|
|
|
}
|
|
|
|
|
|
|
|
.border-corner-right-radius(@rightTop, @rightBottom) {
|
|
|
|
-moz-border-radius-topright: @rightTop;
|
|
|
|
-webkit-border-top-right-radius: @rightTop;
|
|
|
|
-moz-border-radius-bottomright: @rightBottom;
|
|
|
|
-webkit-border-bottom-right-radius: @rightBottom;
|
|
|
|
|
|
|
|
border-top-right-radius: @rightTop;
|
|
|
|
border-bottom-right-radius: @rightBottom;
|
|
|
|
}
|
|
|
|
|
|
|
|
.border-corner-radius(@leftTop, @rightTop, @rightBottom, @leftBottom) {
|
|
|
|
-webkit-border-radius: @arguments;
|
|
|
|
-moz-border-radius: @arguments;
|
|
|
|
border-radius: @arguments;
|
|
|
|
}
|
|
|
|
|
|
|
|
@sideHeight: 6px;
|
|
|
|
@sideLength: 12px;
|
|
|
|
.solid-triangle-up(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-left: (@sideLength/2) solid transparent;
|
|
|
|
border-right: (@sideLength/2) solid transparent;
|
|
|
|
border-bottom: @sideHeight solid @color;
|
|
|
|
}
|
|
|
|
|
|
|
|
.solid-triangle-down(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-left: (@sideLength/2) solid transparent;
|
|
|
|
border-right: (@sideLength/2) solid transparent;
|
|
|
|
border-top: @sideHeight solid @color;
|
|
|
|
}
|
|
|
|
|
|
|
|
.solid-triangle-left(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-top: (@sideLength/2) solid transparent;
|
|
|
|
border-right: @sideHeight solid @color;
|
|
|
|
border-bottom: (@sideLength/2) solid transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.solid-triangle-right(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-top: (@sideLength/2) solid transparent;
|
|
|
|
border-left: @sideHeight solid @color;
|
|
|
|
border-bottom: (@sideLength/2) solid transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.solid-triangle-top-left(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-top: @sideHeight solid @color;
|
|
|
|
border-right: @sideHeight solid transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.solid-triangle-top-right(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-top: @sideHeight solid @color;
|
|
|
|
border-left: @sideHeight solid transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.solid-triangle-bottom-left(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-bottom: @sideHeight solid @color;
|
|
|
|
border-right: @sideHeight solid transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.solid-triangle-bottom-right(@color) {
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
border-bottom: @sideHeight solid @color;
|
|
|
|
border-left: @sideHeight solid transparent;
|
|
|
|
}
|
|
|
|
|
|
|
|
.triangle-top() {
|
|
|
|
position: absolute;
|
|
|
|
width: 16px;
|
|
|
|
height: 6px;
|
|
|
|
//虽然position:absolute使得:before的display属性为block,但是其仍然受到祖先text-align:center的影响,这边重置掉
|
|
|
|
text-align: left;
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
position: absolute;
|
|
|
|
width: 6px;
|
|
|
|
height: 6px;
|
|
|
|
margin-left: 4px;
|
|
|
|
margin-top: 2px;
|
|
|
|
content: "";
|
|
|
|
transform: rotate(-135deg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.triangle-bottom() {
|
|
|
|
position: absolute;
|
|
|
|
width: 16px;
|
|
|
|
height: 6px;
|
|
|
|
//虽然position:absolute使得:before的display属性为block,但是其仍然受到祖先text-align:center的影响,这边重置掉
|
|
|
|
text-align: left;
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
position: absolute;
|
|
|
|
width: 6px;
|
|
|
|
height: 6px;
|
|
|
|
margin-left: 4px;
|
|
|
|
margin-top: -3px;
|
|
|
|
content: "";
|
|
|
|
transform: rotate(45deg);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.triangle-left() {
|
|
|
|
position: absolute;
|
|
|
|
width: 6px;
|
|
|
|
height: 16px;
|
|
|
|
//虽然position:absolute使得:before的display属性为block,但是其仍然受到祖先text-align:center的影响,这边重置掉
|
|
|
|
text-align: left;
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
position: absolute;
|
|
|
|
width: 6px;
|
|
|
|
height: 6px;
|
|
|
|
margin-left: 2px;
|
|
|
|
margin-top: 3px;
|
|
|
|
content: "";
|
|
|
|
transform: rotate(135deg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.triangle-right() {
|
|
|
|
position: absolute;
|
|
|
|
width: 6px;
|
|
|
|
height: 16px;
|
|
|
|
//虽然position:absolute使得:before的display属性为block,但是其仍然受到祖先text-align:center的影响,这边重置掉
|
|
|
|
text-align: left;
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
position: absolute;
|
|
|
|
width: 6px;
|
|
|
|
height: 6px;
|
|
|
|
margin-left: -3px;
|
|
|
|
margin-top: 4px;
|
|
|
|
content: "";
|
|
|
|
transform: rotate(-45deg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// css3 animation
|
|
|
|
.keyframes(@name, @frames) {
|
|
|
|
@-webkit-keyframes @name {
|
|
|
|
@frames();
|
|
|
|
}
|
|
|
|
@-moz-keyframes @name {
|
|
|
|
@frames();
|
|
|
|
}
|
|
|
|
@-ms-keyframes @name {
|
|
|
|
@frames();
|
|
|
|
}
|
|
|
|
@-o-keyframes @name {
|
|
|
|
@frames();
|
|
|
|
}
|
|
|
|
@keyframes @name {
|
|
|
|
@frames();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.animation(@attr) {
|
|
|
|
-webkit-animation: @attr;
|
|
|
|
-moz-animation: @attr;
|
|
|
|
-ms-animation: @attr;
|
|
|
|
-o-animation: @attr;
|
|
|
|
animation: @attr;
|
|
|
|
}
|
|
|
|
|
|
|
|
.animation-delay(@attr) {
|
|
|
|
-webkit-animation-delay: @attr;
|
|
|
|
-moz-animation-delay: @attr;
|
|
|
|
-ms-animation-delay: @attr;
|
|
|
|
-o-animation-delay: @attr;
|
|
|
|
animation-delay: @attr;
|
|
|
|
}
|
|
|
|
|
|
|
|
.transform(@attr) {
|
|
|
|
-webkit-transform: @attr;
|
|
|
|
-moz-transform: @attr;
|
|
|
|
-o-transform: @attr;
|
|
|
|
-ms-transform: @attr;
|
|
|
|
transform: @attr;
|
|
|
|
}
|
|
|
|
|
|
|
|
.transform-origin (@x:center, @y:center) {
|
|
|
|
-webkit-transform-origin: @x @y;
|
|
|
|
-moz-transform-origin: @x @y;
|
|
|
|
-ms-transform-origin: @x @y;
|
|
|
|
-o-transform-origin: @x @y;
|
|
|
|
transform-origin: @x @y;
|
|
|
|
}
|
|
|
|
|
|
|
|
.hover-visible(@cls) {
|
|
|
|
& .@{cls} {
|
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
&:hover {
|
|
|
|
& .@{cls} {
|
|
|
|
visibility: visible;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.hover-hidden(@cls) {
|
|
|
|
& .@{cls} {
|
|
|
|
visibility: visible;
|
|
|
|
}
|
|
|
|
&:hover {
|
|
|
|
& .@{cls} {
|
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|