### **1.9 @content在sass中作用**
<br/>
**作用:**主要是拿来传递内容到**Mixin**里面去,像是一般的**Mixin**大家认认知的就是他能够传递变量进去。
一般Mixin列子:
~~~
@mixin bg($text-color,$bg-color){
background: $bg-color;
color: $text-color;
}
.box{
@include bg(#fff,#000)
}
//编译出來的CSS
.box{
background: 000;
color: #fff;
}
~~~
<br/>
<br/>
**已上列子如果使用了@content的话,就能在Mixin里面继续写额外的东西。**(即将额外的样式写在 @include中括号{}里面)
举例:
~~~
@mixin bg($text-color,$bg-color){
background: $bg-color;
color: $text-color;
@content; //多了一個@content
}
.box{
@include bg(#fff,#000){
border: 1px solid lighten(#000, 10); //将额外的样式写在在 @include中括号{}里面。
}
}
~~~
编译出来的css
~~~
.box {
background: #000;
color: #fff;
border: 1px solid #1a1a1a; //对应@content中的样式编译于此行
}
~~~
<br/>
<br/>
#### **@content还可以实现的功能**
<br/>
**1.选择器的继承与覆盖**
<br/>
列子:
~~~
@mixin ie8{
.ie8 & {
@content
}
}
.box{
width:50px
@include ie8{
width:150px//将会继承混合宏里面的.ie8 &,&将在这里继承.box
}
}
//编译出來的CSS
.box {
width:50px
}
.ie8 .box {
width:150px
}
~~~
<br/>
<br/>
<br/>
**2.状态**
有时候在设计网页时,需要对各种点击状态进行设置,如:hover,:visited,: foucs以及动态连接时会加上.active这个class。像这些都可成为状态的改变,也可以通过@mixin和@content来规划。
举例:
~~~
@mixin link{ //链接样式
&:link,&:visited{
@content;
}
}
@mixin link-hover{ //被点击后的样式
&:hover, &:focus, &:active,&.active{
@content;
}
}
.box{
height:50px;
@include link{color:#fff}; //链接样式
@include link-hover{color:#000}; //被点击后的样式
}
~~~
转化成css
~~~
.box {
height: 50px;
}
.box:link, .box:visited {
color: #fff;
}
.box:hover, .box:focus, .box:active {
color: #000;
}
~~~
<br/>
<br/>
<br/>
**3.@content也可以写2个以上**
列如我们时常需要写浏览器前缀来进行兼容时,也可以像这样写:
~~~
@mixin keyframes($animation) {
@-webkit-keyframes $animation{
@content;
}
@-moz-keyframes $animation{
@content;
}
@-ms-keyframes $animation{
@content;
}
@-o-keyframes $animation{
@content;
}
@keyframes $animation{
@content;
}
}
~~~
这样子编译出来就会针对各浏览器去写css3动画效果
- 布局
- display:table布局
- display:flex弹性布局
- html
- 1.1关于文字小技巧
- 1.2加载
- 1.3苹果和安卓样式兼容问题
- 1.4结构技巧
- 1.5兼容ie7,ie8技巧
- css
- 1.1内容不够,页面固定在底部
- 1.2 css属性书写顺序
- 1.3font和line-height之CSS代码书写顺序不同,导致显示效果不一样
- 1.4 flex设置成1和auto有什么区别
- 1.5带三角形的对话框
- 1.6css选择器
- 1.6.1通用兄弟选择器E ~ F
- 1.6.2相邻兄弟选择器E + F
- 1.6.3 CSS3结构选择器
- 1.6.4 属性选择器
- 1.6.7 class^=,class*= ,class$= 的含义
- 1.7伪类
- 1.7.1:not(s)
- 1.9inherit和 initial
- 2.0 css技巧
- css3
- 1.2 背景background
- 1.3 transform
- 1.3.1移动translate
- 1.3.2缩放scale
- 1.3.3旋转rotate
- 1.3.4扭曲skew
- 1.4 Transition
- 1.5 animate
- 1.6 calc()
- 1.7 Gradients渐变
- 1.8 backface-visibility
- 1.9 text-size-adjust
- sass知识点
- 1.1sass写法转化
- 1.1.1 sass的转换写法
- 1.2 & 嵌套写法
- 1.2变量
- 1.2.1 默认值
- 1.2.2 全局变量和局部变量
- 1.2.3 嵌套
- 1.2.4 伪类选择器
- 1.2.5变量用井号花括号包裹
- 1.2.6 多个变量一起声明
- 1.3混合宏
- 1.3.1不带参数的混合宏
- 1.3.2传一个不带值的参数
- 1.3.3传多个不带值的参数
- 1.3.4传一个参数的值
- 1.3.5传多个参数的值
- 1.3.6参数变量名后面加...(省略号)
- 1.4文件导入
- 1.5继承@extend
- 1.6占位符%
- 1.7混合宏VS继承VS占位符
- 1.8 @media在sass中写法
- 1.9 @content的作用
- sass基本运算
- 1.1[Sass运算]加法
- 1.2[Sass运算]减法
- 1.3[Sass运算]乘法
- 1.4[Sass运算]除法
- sass函数
- 1.1 @if函数
- 1.2for函数
- 1.3 while函数
- 1.4 each循环
- 函数
- 1.1一些函数的意思
- 1.2if else函数
- 1.3 i++和++i的区别
- 1.4for函数
- UI设计规则
- 1.1字体
- 1.2尺寸
- 1.3 注意点
- 1.4 界面设计注意点