_mixin scss
包括常用的mixin,%及@function
mixin,通过@include调用,样式通过拷贝的方式使用,尤其适用于传递参数
%,通过@extend调用,样式通过组合申明的方式使用,适用于不传参数的代码片段
@function,返回一个值,用于调用
-----------------------------------------------------

mixin & %
既定义了mixin也定义了%,根据需求使用@include或@extend调用

// inline-block
// ie6-7 *display: inline;*zoom:1;
@mixin inline-block ($extend:true) {
@if $extend {
@extend %inline-block;
} @else {
display: inline-block;
@if $lte7 {
*display: inline;*zoom:;
}
}
}
%inline-block{
@include inline-block(false);
}

对于这一块的理解:

$lte7:true;
@mixin inline-block ($extend:true) { //提供一个参数。来确定是否使用继承
@if $extend {
@extend %inline-block;
} @else {
display: inline-block;
@if $lte7 { //是否需要针对IE7编写样式。
*display: inline;*zoom:;
}
}
}
%inline-block{
@include inline-block(false);
} .aa{
@include inline-block(true);
}
.bb{
@include inline-block(false);
}
.cc{
@include inline-block(true);
}
.dd{
@extend %inline-block;
}

编译出来之后:

.aa, .cc, .dd {
display: inline-block;
*display: inline;
*zoom:;
} .bb {
display: inline-block;
*display: inline;
*zoom:;
}

Center-align a block level element(中心对齐一个块级元素)
block得有宽度margin左右为auto才能居中

用法和inline-block一样;

@mixin center-block ($extend:true) {
@if $extend {
@extend %center-block;
} @else {
margin-left: auto;
margin-right: auto;
}
}
%center-block{
@include center-block(false);
}

float left & right

@mixin float($float:left) {
float: $float;
@if $lte7 {
display: inline;
}
}
%float{
@include float;
}

继承没有float:right(使用默认的float:left);

clearfix:

闭合子元素的浮动

@mixin clearfix ($extend:true) {
@if $extend {
@extend %clearfix;
} @else {
@if $lte7 {
*zoom:;
}
&:before,
&:after {
content: "";
display: table;
}
&:after {
clear: both;
}
}
}
%clearfix{
@include clearfix(false);
}

Hide from both screenreaders and browsers: h5bp.com/u(从浏览器和屏幕阅读器无法隐藏:h5bp.com/u)

既隐藏于视觉也隐藏于屏幕浏览器

@mixin hidden ($extend:true) {
@if $extend {
@extend %hidden;
} @else {
display: none !important;
visibility: hidden;
}
}
%hidden{
@include hidden(false);
}

sasscore学习之_mixin.scss的更多相关文章

  1. 前端学习之路——scss篇

    一.什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 二.安装和使用 Sass依赖于ruby环境,所以装sass之前先 ...

  2. SASS学习笔记2 —— 语法

    sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号:另一种是scss文件,这种和我们平时写的css文件格式差不多,使用大括号和分号.在此也建议使用后缀名为scss的文件,以避免sass ...

  3. sass入门学习篇(二)

    从语法开始但是语法也不是一两句的事情,首先看基本的导入,使用 一,sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号:另一种就是我们这里使用的scss文件,建议scss. 二,导入 使 ...

  4. sass揭秘之@mixin,%,@function

    因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 在阅读本文章之前,请先确认你已经阅读了上篇文章sass揭秘之变量,不然会给你 ...

  5. sass揭秘之@mixin,%,@function(转载)

    因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 在阅读本文章之前,请先确认你已经阅读了上篇文章sass揭秘之变量,不然会给你 ...

  6. less,sass,stylus配置和应用教程及三者比较

    less,sass,stylus配置和应用教程及三者比较  Less 1. 定义: Less是CSS预处理语言,在css基础之上增加了诸如变量,混合(mix),继承,运算,函数等功能,LESS既可以运 ...

  7. SASS使用总结

    简单用法: 变量 sass中可以定义变量,方便统一修改和维护. //sass style $fontStack: Helvetica, sans-serif; $primaryColor: #333; ...

  8. sass+require实现侧边栏

    一.效果图(如下)及使用的技术 实现用sass实现页面中右侧固定侧边栏的样式,用require.js实现返回顶部的功能 二.sass 具体的sass的介绍就不多说了,大家可以参考sass官网介绍,下面 ...

  9. 09-移动端开发教程-Sass入门

    1. 引言 CSS3之前的CSS都大都是枚举属性样式,而编程语言强大的变量.函数.循环.分支等功能基本都不能在CSS中使用,让CSS的编程黯淡无光,Sass就是一种增强CSS编程的扩展语言(CSS4也 ...

随机推荐

  1. 配置windows失败,还原更新,请勿关机

    同事叫我帮忙弄一下电脑,开机,出现"配置Windows Update失败,还原更改,请勿关闭计算机",我从来不更新Windows Update,更新都为成功,第一次遇到失败了,不知 ...

  2. Mybatis学习记录(四)----resultMap的使用

    resultMap使用方法 如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系. 1.定义resultMap 2.使用resultMap ...

  3. UITabBar,UINavigationBar的布局和隐藏问题

    ---恢复内容开始--- 1. 前言 UITabBar,UINavigationBar非常的好用,但是毕竟是系统自带的,不受自己完全掌握,对于布局和隐藏会有一些问题,现在就来谈谈我的想法和一些问题. ...

  4. Android性能优化--Listview优化

    ListView的工作原理 首先来了解一下ListView的工作原理(可参见http://mobile.51cto.com/abased-410889.htm),如图: ListView 针对每个it ...

  5. macbook pro 重装系统

    重装前系统版本:10.11.6 因为我在系统更新时强行关机,后来在编译代码的时候就一直有奇怪的错误,所以选择重装系统. 前提条件:一定要有网络 1.关机状态下按住command + r ,按一下开机键 ...

  6. 使用batch insert解决MySQL的insert吞吐量问题

    最近使用了一个非常简单易用的方法解决了业务上的一个insert吞吐量的问题,在此总结一下. 首先我们明确一下,insert吞吐量其实并不是指的IPS(insert per second),而是指的RP ...

  7. MongoDB 的 GridFS 详细分析

    GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件. http://www.mongodb.org/display/DOCS/GridFS http://www.m ...

  8. HashMap总结

    最近朋友推荐的一个很好的工作,又是面了2轮没通过,已经是好几次朋友内推没过了,觉得挺对不住朋友的.面试反馈有一方面是有些方面理解思考的还不够,平时也是项目进度比较紧,有些方面赶进度时没有理解清楚的后面 ...

  9. JS 日期对象在浏览器间的若干差异

    JS中 ,通过 new Date() 可以获取当前时间 也可以通过 new Date("2013/12/12 8:00:00")的方式,创建某个指定时间对象 在Chrome和FF下 ...

  10. 从零开始学习Mysql的学习记录

    2015/06/18 16:23更新,由于QQ邮件的图片链接失效了,请在云笔记链接查看 http://note.youdao.com/share/?id=f0b2ed30a3fc8e57c381e3d ...