美文网首页视觉艺术前端基础
给初级程序员的✋5段救命🚀css代码(scss mixin)

给初级程序员的✋5段救命🚀css代码(scss mixin)

作者: 前端小咖 | 来源:发表于2019-11-22 10:49 被阅读0次

    封装成mixin复用

    在写:fire:css的时候, 很多样式都是 很常用但是写起来很麻烦 , 虽然现在有很多成熟的ui框架, 但是我们也不能一个 简单的活动页 也引入那么大个框架吧?

    在工作中我也攒下了不少常用css, 我把他们封装成了 mixin , 挑选了:hand:5个分享给大家, 希望大家喜欢.

    "复制/粘贴"一把梭

    :grin:下面代码统统拿去.

    溢出显示省略号

    参过参数可以只是单/多行.

    /**

    * 溢出省略号

    * @param {Number} 行数

    */@mixinellipsis($rowCount: 1) {  @if$rowCount<=1{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;  } @else{min-width:0;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;    -webkit-line-clamp:$rowCount;    -webkit-box-orient: vertical;  }}

    真.1px边框

    移动端由于像素密度比的问题, 实际的1px边框看起来比较粗, 如果想要更"细"可以使用下面的代码. 不同像素密度比的设备都可以兼容(pc/手机), 还支持任意数量圆角 .

    /**

    * 真.1px边框

    * {List}: 多个方向边框, 默认值为bottom, 你可以根据需要传入(top, left, bottom, right) 4个方向;

    * {Color} 边框的颜色, 默认#ccc;

    * {List} 4个圆角半径, 默认0;

    * {String} 一个高级设置, 一般都不需要改动, 由于细边框的实现使用了css的伪类, 所以为了规避可能出现的样式冲突, 我们可以自己指定使用:after还是:before, 默认after;

    */@mixinthinBorder($directionMaps: bottom,$color:#ccc,$radius: (    0,    0,    0,    0  ),$position: after) {// 是否只有一个方向$isOnlyOneDir: string==type-of($directionMaps);  @if($isOnlyOneDir) {$directionMaps: ($directionMaps);  }  @each$directionMapin$directionMaps{border-#{$directionMap}:1pxsolid$color;  }// 判断圆角是list还是number@if(list==type-of($radius)) {border-radius: nth($radius,1)      nth($radius,2)      nth($radius,3)      nth($radius,4);  } @else{border-radius:$radius;  }  @mediaonly screen and (-webkit-min-device-pixel-ratio: 2) {    & {position: relative;// 删除1像素密度比下的边框@each$directionMapin$directionMaps{border-#{$directionMap}: none;      }    }    &:#{$position} {      content:"";position: absolute;top:0;left:0;display: block;width:200%;height:200%;transform: scale(0.5);box-sizing: border-box;padding:1px;transform-origin:00;pointer-events: none;border:0solid$color;      @each$directionMapin$directionMaps{border-#{$directionMap}-width:1px;      }// 判断圆角是list还是number@if(list==type-of($radius)) {border-radius: nth($radius,1) *2nth($radius,2) *2nth($radius,3) *2nth($radius,4) *2;      } @else{border-radius:$radius*2;      }    }  }  @mediaonly screen and (-webkit-min-device-pixel-ratio: 3) {    &:#{$position} {      // 判断圆角是list还是number      @if (list==type-of($radius)) {        border-radius: nth($radius,1) *3nth($radius,2) *3nth($radius,3) *3nth($radius,4) *3;      } @else{border-radius:$radius*3;      }width:300%;height:300%;transform: scale(0.3333);    }  }}

    等边三角形

    常用来做下拉菜单的方向指示, 如果你做的页面就是个简单的活动页, 引入"饿了么"一类的ui就有些大材小用了, 借助"三角形"你可以自己做一个简单的.

    /**

    * 等边三角形

    * @param {String} 尺寸

    * @param {Color} 颜色

    * @param {String} 方向

    */@mixintriangle($size: 5px,$color: rgba(0, 0, 0, 0.6),$dir: bottom) {width:0;height:0;border-style: solid;  @if(bottom==$dir) {border-width:$size$size0$size;border-color:$colortransparent transparent transparent;  } @elseif (top==$dir) {border-width:0$size$size$size;border-color: transparent transparent$colortransparent;  } @elseif (right==$dir) {border-width:$size0$size$size;border-color: transparent transparent transparent$color;  } @elseif (left==$dir) {border-width:$size$size$size0;border-color: transparent$colortransparent transparent;  }}

    loading

    这是一个"半圆边框"旋转的loading, 你可以根据业务需求自己指定圆的半径.

    @mixinloading-half-circle($width: 1em) {display: inline-block;height:$width;width:$width;border-radius:$width;border-style: solid;border-width:$width/10;border-color: transparent currentColor transparent transparent;animation: rotate0.6slinear infinite;vertical-align: middle;}

    棋盘

    如果你做一些界面生成器工具(类易企秀)你会用到.

    /**

    * 棋盘背景

    * @param {Color} 背景色

    */@mixinbgChessboard($color:#aaa) {background-image: linear-gradient(45deg,$color25%,      transparent25%,      transparent75%,$color75%,$color),    linear-gradient(45deg,$color26%,      transparent26%,      transparent74%,$color74%,$color);background-size:10vw10vw;background-position:00,5vw5vw;}

    如果对于学习编程有很多疑惑,没有思路,不知道如何有效率的学习,可以添加我的前端交流学习群 895757445,需要最新系统的学习教程也可以管我要。做了很多年开发,对于学习方式,如何提高自己的技术有一定的经验,术业有专攻,多跟有经验的人交流学习,对这个行业信息了解的多,职业发展的空间就越大

    欢迎初学和进阶中的小伙伴。裙里有免费的学习资料,还有专业老师为你解惑,更有免费体验课、免费直播课等福利不定期放送。

    相关文章

      网友评论

        本文标题:给初级程序员的✋5段救命🚀css代码(scss mixin)

        本文链接:https://www.haomeiwen.com/subject/jiufwctx.html