Tôi đang cố gắng thực hiện một chức năng chuyển đổi kích thước pixel thành ems hoặc rems. Các chức năng như sau:Sass @if tuyên bố thực sự không hoạt động chức năng
@function px2em($pixels, $fontSize: 16, $rem: false) {
@if $rem == true {
$unit: 0rem;
} @else {
$unit: 0em;
}
$ratio: 1/$fontSize;
@return ($pixels * $ratio) + $unit;
}
Khi tôi biên dịch này, tôi nhận được lỗi sau:
error style.scss (Line 36 of _functions.scss: Undefined variable: "$unit".)
Tôi đang làm gì sai ở đây?
Vì vậy, bạn không thể khai báo một biến bên trong một tuyên bố @if? – McShaman
@McShaman Tôi đã cập nhật câu trả lời của mình, hãy xem. Bạn thực sự có thể khai báo các biến trong if block, nhưng biến đó sẽ chỉ có sẵn trong khối đó. Có một câu hỏi SO khác về chủ đề này: http://stackoverflow.com/questions/15371332/sass-ignores-variables-defined-in-if-statement –