Phạm vi biến và khối nội dung trong SASS
Khi truyền các khối nội dung vào mixin, phạm vi của chúng được xác định bởi vị trí cụ thể của khối, chứ không phải bởi mixin. Do đó, chúng ta không thể sử dụng biến cục bộ của mixin trong khối nội dung được truyền vào, khối này chỉ có thể hoạt động với các biến toàn cục.
Hãy xem xét ví dụ sau:
$size: 14px;
@mixin sizes ($size: 20px) {
font-size: $size;
padding: $size;
@content;
}
.navbar {
@include sizes {
margin: $size;
}
}
Kết quả biên dịch:
.navbar {
font-size: 20px;
padding: 20px;
margin: 14px;
}
Hãy cho biết kết quả biên dịch của đoạn mã sau sẽ là gì:
$color: yellow;
@mixin links ($color: red) {
background: $color;
@content;
}
Hãy cho biết kết quả biên dịch của đoạn mã sau sẽ là gì:
$color: yellow;
$size: 10px;
@mixin links ($color: red, $size: 12px) {
background-color: $color;
font-size: $size;
@content;
}
.navbar {
@include links {
box-shadow: $color;
padding: $size;
}
}
Hãy cho biết kết quả biên dịch của đoạn mã sau sẽ là gì:
$color: green;
$size: 6px;
@mixin links ($color: red, $size: 10px) {
color: $color;
font-size: $size;
@content;
}
.navbar {
@include links {
border-color: $color;
margin: $size;
}
}
#active{
@include links{
background-color: $color;
padding-top: $size;
padding-bottom: $size * 2;
}
}