• SASS常用语法


    原文地址:这里

    @charset "UTF-8";
    
    /**
     * 自定义变量
     */
    $blue: #1875e7;
    div {
    	color: $blue;
    }
    
    /**
     * 变量要嵌在字符串中间
     */
    $side: left;
    .rounded{
    	border-#{$side}-radius: 5px;
    }
    
    /**
     * 计算
     */
    $unit: .05rem;
    
    .box{
    	height: $unit / 2;
    	 10 * $unit;
    }
    
    /**
     * 标签嵌套
     */
    .parent{
    	background: #fff;
    	.child{
    		font-size: 12px;
    	}
    }
    
    /**
     * 属性嵌套
     */
    p{
    	border: {
    		color: red;
    		 1px;
    	}
    }
    
    /**
     * 伪类
     */
    a{
    	&:hover {
    		color: red;
    	}
    }
    
    /**
     * 注释
     *
     * // 单行注释编译后删除
     * ** 多行注释编译后保留
     */
    
    /**
     * 继承
     */
    .class1{
    	border: 1px solid #ddd;
    }
    .class2{
    	@extend .class1;
    	font-size: 12px;
    }
    .class3{
    	@extend .class1;
    	border-color: red;
    }
    
    /**
     * mixin 复用代码块
     * 如果不需要传参数,可以不带括号
     */
    @mixin left{
    	float: left;
    	margin-left: 10px;
    }
    .someclass{
    	@include left;
    }
    
    /**
     * mixin 可以指定参数和缺省值,就像函数了
     */
    @mixin left($value: 10px){
    	float: left;
    	margin-left: $value;
    }
    .someclass2{
    	@include left(20px);
    }
    
    /**
     * 颜色函数
     */
    .color1{
    	color: lighten(#cc3, 10%);
    	/**
    	 * 浅 10%
    	 * #d6d65c
    	 */
    }
    .color2{
    	color: darken(#cc3, 10%);
    	/**
    	 * 深 10%
    	 * #a3a329
    	 */
    }
    .color3{
    	color: grayscale(#cc3);
    	/**
    	 * 将颜色转化为灰度
    	 * #808080
    	 *
    	 * 怎么计算的?
    	 * (cc + 33) / 2 = 80
    	 */
    	background: grayscale(#c03);
    	/**
    	 * 这个算出来是 #666666
    	 * 那就是。。
    	 * (cc + 00) / 2 = 66
    	 */
    	border-color: grayscale(#c30);
    	/**
    	 * 那来看看这个,会有区别吗?
    	 * #666666
    	 */
    	background-color: grayscale(#03c);
    	/**
    	 * #666666
    	 * 好吧。。
    	 *
    	 * 查了文档,等同于 desaturate($color, 100%),将色彩饱和度调至0
    	 * #cc3 	-> hsl(60, 60%, 50%);
    	 * #c03 	-> hsl(345, 100%, 40%);
    	 * #c30 	-> hsl(15, 100%, 40%);
    	 * #03c 	-> hsl(225, 100%, 40%);
    	 *
    	 * H(色上) S(饱和度) L(明度)
    	 * S 为 0 时,RGB 都为 L
    	 * 256 * 50% = 128 		-> 80
    	 * 256 * 40% = 102 		-> 66
    	 */
    }
    .color4{
    	color: complement(#cc3);
    	/**
    	 * 反象
    	 * #33c
    	 */
    }
    
    /**
     * 插入文件
     * 注:会插到本文件头部
     */
    @import "reset.css";
    
    /**
     * 再试一下,如果出现两个相同的选择器,会合并到一起吗?
     * 不会合并,定义几处,翻译后还是几处
     */
    div{
    	background: #fff;
    }
    .color4{
    	background: #fff;
    }
    
    /**
     * 高级用法
     */
    
    /**
     * 条件语句
     */
    p {
    	@if 1 + 1 == 2 { border: 1px solid; }
    	@if 5 < 3 { border: 2px dotted; }
    }
    p {
    	@if 1 + 1 == 2 {
    		background-color: #000;
    	} @else {
    		background-color: #fff;
    	}
    }
    
    /**
     * 循环语句
     */
    @for $i from 1 to 10 {
    	.border-#{$i} {
    		border: #{$i}px solid blue;
    	}
    }
    
    $i: 6;
    @while $i > 0{
    	.item-#{$i} {
    		 2em * $i;
    	}
    	$i: $i - 2;
    }
    
    @each $member in a, b, c, d{
    	.#{$member}{
    		background-image: url("/images/#{$member}.jpg");
    	}
    }
    
    /**
     * 自定义函数
     */
    @function double($n){
    	@return $n * 2;
    }
    #sidebar {
    	 double(5px);
    }
    
    $unit: .05rem;
    @function unit($value){
    	@return $unit * $value;
    }
    #sidebar {
    	 unit(720);
    }
    
    /**
     * 修改单位,只影响后面的 css
     */
    $unit: 1px;
    #sidebar {
    	 unit(720);
    }
    

      

  • 相关阅读:
    stm32f103 SPI单线TX发数据来驱动LCD
    【转】常见排序算法
    [转]命令行 Subversion 入门
    JLINK V8 Keil MDK4.10 STM32
    字符串表示的大整数相加
    字符串反转
    字符串表示的大整数相乘
    猴子选大王
    [转]Posix-- 互斥锁 条件变量 信号量
    [转]Openwrt的Inittab
  • 原文地址:https://www.cnblogs.com/frostbelt/p/5391383.html
Copyright © 2020-2023  润新知