2017-10-29 8 views
0

우리 가지고 SASS 프로젝트에서 다음 코드를그런트 SASS 결함이 유니 코드 문자 모양에 백 슬래쉬와 컨텐츠를 컴파일

.icon-mail:before { 
    content: ""; 
: 일부 개발 컴퓨터에 그런트 SASS로이 코드로 컴파일됩니다

.icon-mail:before { content: '\e800'; } 

그러면 브라우저에서 디스플레이가 깨집니다 (Chrome & Firefox 테스트).

개발자 OSX Mac에서는 예상대로 컴파일되지만, 우분투 개발자 시스템에서는 컴파일되지 않는 것들을 혼란스럽게합니다.

예상 무슨 & 작품 :

.icon-mail:before { 
    content: '\e800'; 

나는 비슷 Github의에서이 문제를 발견 -하지만이 명확한 수정 없습니다 : https://github.com/sass/sass/issues/620

답변

0

내가 전에 비슷한 문제를 가지고 있었다, 그리고 검색 말을 많이 후 최대 this 제안을 사용합니다. 좀 더 일반화되도록 수정했으며 여러 프로젝트에서 나에게 잘 작동하는이 함수를 사용합니다. Windows/Linux/OS X에서 잘 컴파일됩니다.

/// Convert given unicode character code into unicode char reference 
/// 
/// @example scss 
/// unicode("e655"); 
/// // "\e655" 
/// 
/// @source - [@Stephn-R](https://github.com/sass/sass/issues/1395#issuecomment-57483844) 
/// @param string $str Unicode character code to convert 
/// @return string 
@function unicode($str) { 
    @if (str-slice($str, 1, 1) != str-slice("\\", 1, 1)) { 
     $str: unquote(str-insert($str, str-slice("\\", 1, 1), 1)); 
    } 
    @return unquote("\"")+$str+unquote("\"") 
}