http深入浅出
http深入浅出
-moz-box-sizing:$sizing; box-sizing:$sizing; } .box-border{ border:1px solid #ccc; @include box-sizing(border-box); } //css .box-border { border: 1px solid #ccc; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } `
@extend 优雅实现代码组合声明
` .message { border: 1px solid #ccc; padding: 10px; color: #333; } .success { @extend .message; border-color: green; } .error { @extend .message; border-color: red; } //css .message, .success, .error, .warning { border: 1px solid #cccccc; padding: 10px; color: #333; }
.success { border-color: green; }
.error { border-color: red; }
.warning { border-color: yellow; } `
article[role=”main”] { float: left; width: 600px / 960px * 100%; }
aside[role=”complimentary”] { float: right; width: 300px / 960px * 100%; } //css .container { width: 100%; }
article[role=”main”] { float: left; width: 62.5%; }
aside[role=”complimentary”] { float: right; width: 31.25%; } `
@import
导入css和css用法一样不再编译,导入scss会合并编译
标准注释/**/,编译到css;单行注释//不编译
$开头紧跟变量名,变量名值以:分隔,!表示默认值
` $fontSize: 12px; body{ font-size:$fontSize; } $baseLineHeight: 2;
$baseLineHeight: 1.5 !default; body{ line-height: $baseLineHeight; } //css body{ line-height:2; } //特殊变量:变量作为属性或在某些特殊情况下等则必须要以#{$variables}形式使用 $borderDirection: top !default; $baseFontSize: 12px !default; $baseLineHeight: 1.5 !default;
//应用于class和属性 .border-#{$borderDirection}{ border-#{$borderDirection}:1px solid #ccc; } //应用于复杂的属性值 body{ font:#{$baseFontSize}/#{$baseLineHeight}; } `
多值类型分list和map类型,list类似js数组,map类似对象 ` $linkColor: #08c #333 !default;//第一个值为默认值,第二个鼠标滑过值 a{ color:nth($linkColor,1);
&:hover{ color:nth($linkColor,2); } } //css a{ color:#08c; } a:hover{ color:#333; } $headings: (h1: 2em, h2: 1.5em, h3: 1.2em); @each $header, $size in $headings { #{$header} { font-size: $size; } } //css h1 { font-size: 2em; } h2 { font-size: 1.5em; } h3 { font-size: 1.2em; } `
//css style .opacity{ @include opacity; //参数使用默认值 } .opacity-80{ @include opacity(80); //传递参数 } //多个参数 @mixin horizontal-line($border:1px dashed #ccc, $padding:10px){ border-bottom:$border; padding-top:$padding; padding-bottom:$padding;
} .imgtext-h li{ @include horizontal-line(1px solid #ccc); } .imgtext-h–product li{ @include horizontal-line($padding:15px); } //@content @mixin max-screen($res){ @media only screen and ( max-width: $res ) { @content; } }
@include max-screen(480px) { body { color: red } } `
如果不调用则不会有任何多余的css文件,避免了以前在一些基础的文件中预定义了很多基础的样式,然后实际应用中 不管是否使用了@extend去继承相应的样式,都会解析出来所有的样式。占位选择器以%标识定义,通过@extend调用。
` %ir{ color: transparent; text-shadow: none; background-color: transparent; border: 0; } %clearfix{ @if $lte7 { *zoom: 1; } &:before, &:after { content: “”; display: table; font: 0/0 a; } &:after { clear: both; } } #header{ h1{ @extend %ir; width:300px; } } .ir{ @extend %ir; } //css #header h1, .ir{ color: transparent; text-shadow: none; background-color: transparent; border: 0; } `
// pixels to rems @function pxToRem($px) { @return $px / $baseFontSize * 1rem; }
body{ font-size:$baseFontSize; color:lighten($gray,10%); } .test{ font-size:pxToRem(16px); color:darken($gray,10%); } `
//grid $_columns: 12 !default; // Total number of columns $_column-width: 60px !default; // Width of a single column $_gutter: 20px !default; // Width of the gutter $_gridsystem-width: $_columns * ($_column-width + $_gutter); //grid system width
Leave a Comment