Sass 3.2.1Chuỗi thay thế trong Sass
Làm thế nào để thay thế chuỗi thành một phần văn bản? Ví dụ: xóa khỏi màu #fefefe dấu gạch ngang #, để thành fefefe.
Cảm ơn!
Sass 3.2.1Chuỗi thay thế trong Sass
Làm thế nào để thay thế chuỗi thành một phần văn bản? Ví dụ: xóa khỏi màu #fefefe dấu gạch ngang #, để thành fefefe.
Cảm ơn!
giải pháp tạm thời đơn giản (trong trường hợp của tôi dành cho Mac):
$ git clone -b string_functions https://github.com/chriseppstein/sass
$ cd sass
$ sudo rake install
$ sudo mv /usr/bin/sass /usr/bin/sass.orig
$ sudo ln -s /Library/Ruby/Gems/1.8/gems/sass-3.2.0.alpha.0/bin/sass /usr/bin/sass
Xem phần "Thêm chức năng tùy chỉnh" tại đây: http://sass-lang.com/documentation/Sass/Script/Functions.html – svallory
Đây là một chức năng mà tôi chỉ được sử dụng!
SCSS-CHỨC NĂNG
/// Replace `$search` with `$replace` in `$string`
/// @author Hugo Giraudel
/// @param {String} $string - Initial string
/// @param {String} $search - Substring to replace
/// @param {String} $replace ('') - New value
/// @return {String} - Updated string
@function str-replace($string, $search, $replace: '') {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}
SCSS-SỬ DỤNG:
.selector {
$string: 'The answer to life the universe and everything is 42.';
content: str-replace($string, 'e', 'xoxo');
}
SCSS-KẾT QUẢ:
.selector {
content: "Thxoxo answxoxor to lifxoxo thxoxo univxoxorsxoxo and xoxovxoxorything is 42.";
}
Tôi sử dụng SASS với phong cách thụt lề, vì vậy đây là chuyển đổi của tôi để nhận biến màu để thay thế trong nền bằng dữ liệu: href mã hóa trực tiếp css svg-image. # Cần phải được mã hóa url và tôi sử dụng các màu toàn cục chỉ cần thay thế ở một nơi và chỉ cần làm việc!
Sass-CHỨC NĂNG:
@function str-replace($string, $search, $replace: '')
$index: str-index($string, $search)
@if $index
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace)
@return $string
Sass-SỬ DỤNG:
$color-blue-night: #172b47
$icon-normal: str-replace('' + $color-blue-night, '#', '')
hoặc cho một ví dụ rõ ràng
.test
color: str-replace('' + $color-blue-night, '#', '')
Sass-KẾT QUẢ:
.test {
color: "172b47"; }
Chuỗi thao tác hiện đang không nằm trong ngôn ngữ cốt lõi, nhưng có vẻ như nó có thể được thêm vào trong tương lai: https://github.com/nex3/sass/pull/401 – cimmanon
Cám ơn gợi ý! –