zoukankan      html  css  js  c++  java
  • 常用的scss函数(mixin)


    scss自出来之后,广受欢迎,如何能快速写出想要的css呢,可自定义一些scss方法,本人罗列了一些最近用到的scss函数,其实包括文本超出范围的格式化、弹性盒子居中、左浮动、右浮动、鼠标上移样式改变等

    1、文本超出范围,显示省略号

    /*文本格式化,超出范围,显示省略号*/
    @mixin textOverflow($100%,$display:block) {
    $width;
    display: $display;
    white-space: nowrap;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    }
    调用@include textOverflow();也可以自己传入参数,display为block或inline-block才能达到预期的效果

    生成的css:

    100%;
    display: block;
    white-space: nowrap;
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    2、 清除浮动 ,bootstrap有类似的类名,当然也可以用overflow:hidden

    /* 清除浮动 */
    @mixin clearfix {
    &:after {
    clear: both;
    content: '.';
    display: block;
    height: 0;
    line-height: 0;
    overflow: hidden;
    }
    *height: 1%;
    }
    生成的css

    .demo {
    *height: 1%;
    }

    .demo:after {
    clear: both;
    content: '.';
    display: block;
    height: 0;
    line-height: 0;
    overflow: hidden;
    }
    其他的我直接贴出函数,若有不明白如何调用的,欢迎留言


    /*弹性盒子(传入null不设置该属性)*/
    @mixin flexBox($direction: row, $justify: null, $align: null, $flex-wrap: null) {
    display: flex;
    @if ($direction!=null) {
    flex-direction: $direction;
    }
    @if ($justify!=null) {
    justify-content: $justify;
    }
    @if ($align!=null) {
    align-items: $align;
    }
    @if ($flex-wrap != null) {
    flex-wrap: $flex-wrap;
    }
    }

    /*绝对定位 参数顺序:上右下左*/
    @mixin positionAbsolute($top:null,$right:null,$bottom:null,$left:null) {
    position: absolute;
    @if ($left!="" & & $left!=null) {
    left: $left;
    }
    @if ($right!="" & & $right!=null) {
    right: $right;
    }
    @if ($top!="" & & $top!=null) {
    top: $top;
    }
    @if ($bottom!="" & & $bottom!=null) {
    bottom: $bottom;
    }
    }

    /*左浮动*/
    @mixin float-left($19%,$margin-right:1.2%) {
    $width;
    float: left;
    @if ($margin-right!=null) {
    margin-right: $margin-right;
    }
    }

    /*右浮动*/
    @mixin float-Right($19%,$margin-left:1.2%) {
    $width;
    float: right;
    @if ($margin-left!=null) {
    margin-left: $margin-left;
    }
    }

    /*渐变(从上到下)*/
    @mixin linear-gradient($direction:bottom,$color1:transparent,$color2:#306eff,$color3:transparent) {
    //background: -webkit-linear-gradient($direction,$colorTop, $colorCenter, $colorBottom); /* Safari 5.1 - 6.0 */
    background: -o-linear-gradient($direction, $color1, $color2, $color3); /* Opera 11.1 - 12.0 */
    background: -moz-linear-gradient($direction, $color1, $color2, $color3); /* Firefox 3.6 - 15 */
    background: linear-gradient(to $direction, $color1, $color2, $color3); /* 标准的语法 */
    }

    /* 行高 */
    @mixin line-height($height:30px,$line-height:30px) {
    @if ($height != null) {
    height: $height;
    }
    @if ($line-height!=null) {
    line-height: $line-height;
    }
    }

    /* 画三角形 */
    @mixin triangle($10px,$direction:top,$color:$bgBlueLight) {
    border: $width solid transparent;
    @if ($direction == top) { // 上三角
    border-bottom-color: $color;
    }
    @if ($direction == bottom) { // 下三角
    border-top-color: $color;
    }
    @if ($direction == left) { // 左三角
    border-right-color: $color;
    }
    @if ($direction == right) { // 右三角
    border-left-color: $color;
    }
    }

    /* 文本阴影 */
    @mixin text-show($h-shadow:0px, $v-shadow:0px, $blur:10px, $color:rgba(0,180,255,0.7)) {
    text-shadow: $h-shadow $v-shadow $blur $color;
    }

    /* 链接样式 */
    @mixin hoverStyle($style:(color:#d9fdff),$hoverStyle:(color:#306eff)) {
    text-decoration: none;
    @each $key, $value in $style {
    #{$key}: #{$value};
    }
    @if ($hoverStyle!=null & & $hoverStyle!="") {
    &:hover {
    @each $key, $value in $hoverStyle {
    #{$key}: #{$value};
    }
    }
    }
    }

    /* 定义滚动条样式 圆角和阴影不需要则传入null */
    @mixin scrollBar($10px,$height:10px,$outColor:$bgColor,$innerColor:$bgGrey,$radius:5px,$shadow:null) {
    /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
    &::-webkit-scrollbar {
    $width;
    height: $height;
    background-color: $outColor;
    }

    /*定义滚动条轨道 内阴影+圆角*/
    &::-webkit-scrollbar-track {
    @if ($shadow!=null) {
    -webkit-box-shadow: $shadow;
    }
    @if ($radius!=null) {
    border-radius: $radius;
    }
    background-color: $outColor;
    }

    /*定义滑块 内阴影+圆角*/
    &::-webkit-scrollbar-thumb {
    @if ($shadow!=null) {
    -webkit-box-shadow: $shadow;
    }
    @if ($radius!=null) {
    border-radius: $radius;
    }
    background-color: $innerColor;
    border: 1px solid $innerColor;
    }
    }

    /* css3动画 默认3s宽度到200px */
    @mixin animation($from:(0px),$to:(200px),$name:mymove,$animate:mymove 2s 1 linear infinite) {
    -webkit-animation: $animate;
    -o-animation: $animate;
    animation: $animate;
    @keyframes #{$name}
    {
    from {
    @each $key, $value in $from {
    #{$key}: #{$value};
    }
    }
    to {
    @each $key, $value in $to {
    #{$key}: #{$value};
    }
    }
    }

    @-webkit-keyframes #{$name}
    {
    from {
    @each $key, $value in $from {
    $key: $value;
    }
    }
    to {
    @each $key, $value in $to {
    $key: $value;
    }
    }
    }
    }

    /* 圆形盒子 */
    @mixin circle($size: 11px,$bg: #fff) {
    border-radius: 50%;
    $size;
    height: $size;
    line-height: $size;
    text-align: center;
    background: $bg;
    }

    /* placeholder */
    @mixin placeholder($color: #bbb) {
    // Firefox
    &::-moz-placeholder {
    color: $color;
    opacity: 1;
    }
    // Internet Explorer 10+
    &:-ms-input-placeholder {
    color: $color;
    }
    // Safari and Chrome
    &::-webkit-input-placeholder {
    color: $color;
    }

    &:placeholder-shown {
    text-overflow: ellipsis;
    }
    }
    以上是我个人写的scss常用的函数,当然,肯定有很多没有写到,欢迎各位补充指正,若不明白如何调用的同志,欢迎留言。

    原文链接:https://blog.csdn.net/liuxin00020/article/details/81355944

  • 相关阅读:
    解决证书过期而无法连接到或启动HyperV虚拟机的问题
    Hyperv相关补丁(错误号87 Virtual Machine Management服务无法启动)
    Formula One Report学习总结
    漂亮的Form皮肤
    FarPoint Design BorderEditor(边框设计)
    保存图片到SQL Server
    发布一个的Web日期选择控件及源码(其中的js代码来自于Microsoft CRM)
    自谈音乐之道
    SQL Server 存储过程的分页
    教你9招最有效防电脑辐射方法
  • 原文地址:https://www.cnblogs.com/onesea/p/15005474.html
Copyright © 2011-2022 走看看