### **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 界面設計注意點