UNPKG

fone

Version:

1号店移动事业部前端构建工具

235 lines (231 loc) 5.9 kB
// @维护人:张航 // CSS3前缀 .display(...){ display: @arguments; } .display(@value)when(@value=flex){ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:@value; } .display(@value)when(@value=inline-flex){ display:-webkit-inline-box; display:-webkit-inline-flex; display:-ms-inline-flexbox; display:@value; } .flexbox(){ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; } .flex(@v:1){ -webkit-box-flex:@v; -webkit-flex:@v; -ms-flex:@v; flex:@v; width: 100%; } // 默认加webkit前缀 .css-prefix(@property,@value){ -webkit-@{property}:@value; @{property}:@value; } // row | column | row-reverse // 默认值:column .flex-direction(@value)when(@value=row){ -ms-flex-direction:@value; .css-prefix(box-orient,horizontal); .css-prefix(flex-direction,@value); } .flex-direction(@value:column)when(default()){ -ms-flex-direction:@value; .css-prefix(box-orient,vertical); .css-prefix(flex-direction,@value); } .flex-direction(@value)when(@value=row-reverse){ -ms-flex-direction:@value; .css-prefix(box-direction,reverse); .css-prefix(flex-direction,@value); } // flex-start | flex-end | center | space-between // 默认值:center .justify-content(@value)when(@value=flex-start){ -ms-flex-pack:start; .css-prefix(box-pack,start); .css-prefix(justify-content,@value); } .justify-content(@value)when(@value=flex-end){ -ms-flex-pack:end; .css-prefix(box-pack,end); .css-prefix(justify-content,@value); } .justify-content(@value:center)when(default()){ -ms-flex-pack:@value; .css-prefix(box-pack,@value); .css-prefix(justify-content,@value); } .justify-content(@value)when(@value=space-between){ -ms-flex-pack:justify; .css-prefix(box-pack,justify); .css-prefix(justify-content,@value); } // flex-start | flex-end | center | stretch // 默认值:center .align-items(@value)when(@value=flex-start){ -ms-flex-align:start; .css-prefix(box-align,start); .css-prefix(align-items,@value); } .align-items(@value)when(@value=flex-end){ -ms-flex-align:end; .css-prefix(box-align,end); .css-prefix(align-items,@value); } .align-items(@value:center)when(default()){ -ms-flex-align:@value; .css-prefix(box-align,@value); .css-prefix(align-items,@value); } .align-items(@value)when(@value=stretch){ -ms-flex-align:@value; .css-prefix(box-align,@value); .css-prefix(align-items,@value); } .radius(@x:5px){ -webkit-border-radius: @x; border-radius: @x; } .box-shadow(@shadow:0 0 5px #ccc){ box-shadow:@shadow; -webkit-box-shadow:@shadow; } .box-sizing(@style:border-box){ -webkit-box-sizing: @style; box-sizing:@style; } .transform-origin(...){ -webkit-transform-origin:@arguments; transform-origin:@arguments; } .transform(@arg){ -webkit-transform:@arg; -ms-transform:@arg; transform:@arg; } // 转换,连写 // .transform(rotate(45deg) scale(.5);join); .transform(@arg;@join)when(@join=join){ -webkit-transform:@arg; transform:@arg; } .translate(@x:0; @y:0){ .transform(translate(@x, @y)); } .translate3d(@x:0; @y:0; @z:0){ .transform(translate3d(@x, @y, @z)); } .rotate(@degree:0){ .transform(rotate(@degree)); } .rotate3d(@x:0; @y:0; @z:0; @degree:0){ .transform(rotate3d(@x, @y, @z, @degree)); } .scale(@num:1){ .transform(scale(@num)); } .scale3d(@x:1; @y:1; @z:1){ .transform(scale3d(@x, @y, @z)); } .skew(@x:0; @y:0){ .transform(skew(@x, @y)); } // 过渡 // .transition(all 0.5s ease); // .transition(visibility,opacity 0.5s;); // .transition(transform 0.5s;true); .transition(@arg){ -webkit-transition:@arg; transition:@arg; } .transition(@arg;@prefix)when(@prefix=true){ -webkit-transition:e("-webkit-@{arg}"); transition:@arg; } .gradient(@path; @colorX; @colorY){ background-image: -webkit-linear-gradient(@path, @colorX, @colorY); background-image:-ms-linear-gradient(@path, @colorX, @colorY); background-image: linear-gradient(@path, @colorX, @colorY); } // 线性渐变 // 解决角度为0时没有加deg的bug .linear-gradient(@degree; @colors)when(@degree=0){ background-image: -webkit-linear-gradient(@degree,@colors); background-image: -ms-linear-gradient(@degree,@colors); background-image: linear-gradient(90deg,@colors); } // 线性渐变 // .linear-gradient(60deg; #000, #fff); .linear-gradient(@degree; @colors)when(default()){ @degreeW3c : abs(@degree) + 90; background-image: -webkit-linear-gradient(@degree,@colors); background-image: -ms-linear-gradient(@degree,@colors); background-image: linear-gradient(@degreeW3c,@colors); } .animation(...){ -webkit-animation:@arguments; animation:@arguments; } .user-select(@select: text){ -webkit-user-select:@select; -ms-user-select:@select; user-select:@select; } // 简写 .clearfix(){ &:after{ content:""; display:table; clear:both; } } .ellipsis(){ overflow: hidden; white-space: nowrap; text-overflow:ellipsis; } // padding比例缩放 // .padding-propor(2/3); .padding-propor(@arg:1){ position: relative; &:after{ content: ''; display: block; width: 100%; padding-top: percentage(@arg); } } // 媒体查询改变html字号rem,前面是屏幕尺寸,后面是字号 // .media-rem(320px;100px); .media-rem(@width:320px; @htmlSize:10px){ @media (min-width: @width){ font-size: @width / (320/@htmlSize); } } // 待解决 .ell(){ .ellipsis(); } .flexbox_column(){ -webkit-box-orient:vertical; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; } .flexbox_center(){ -webkit-box-orient: horizontal; -webkit-box-pack: center; -webkit-box-align: center; }