# 有關 @mixin 與 @extend 的秘密 ###### tags: `前端(frontend)` `scss` `@mixin` `@extend` 剛學完css又要學scss的轉職人生 看到這些密密麻麻的符號及文字真的是想逃避 但...又想到已經學完50%了難道就要放棄嗎? 別氣餒!!我也是這樣過來的 <font color="#f00">注意:請觀察使用@mixin 與 @extend 編譯後的css差別 </font> :::info SCSS @mixin 當沒有參數時 有參數的@mixin 請參考這篇:https://reurl.cc/eOdjKR ```程式類型= @mixin text-style { color:#999; font-size:18px; letter-spacing:2px; } h4{ @include text-style; } h5{ @include text-style; } ``` ::: :::info CSS 編譯後的CSS是將 text-style 裡的屬性及值放入h4及h5裡 這樣將會產生許多重覆性的程式碼,請繼續往下看看@extend寫法 ```程式類型= h4 { color: #999; font-size: 18px; letter-spacing: 2px; } h5 { color: #999; font-size: 18px; letter-spacing: 2px; } ``` ::: :::warning SCSS @extend ```程式類型= %text-style{ color:#999; font-size:18px; letter-spacing:2px; } h2{ @extend %text-style; } h3{ @extend %text-style; } ``` ::: :::warning CSS 將這裡的CSS比對@mixin編譯後的CSS 是否發現他們不同的地方? ```程式類型= h3, h2 { color: #999; font-size: 18px; letter-spacing: 2px; } ``` ::: ### 使用@mixin:是將 text-style 裡的屬性及值放入h4及h5裡 ### 使用@extend:是將 h2及h3 兩者指向 %text-style位置 ### 總結:若是在沒有參數的情況下建議使用@extend,因不會產生重覆性的程式碼!!
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.