Как я могу процитировать строки в SASS? - PullRequest
7 голосов
/ 09 сентября 2009

Я использую SASS для генерации миксина @ font-face, однако это:

=remotefont(!name, !url)
  @font-face
    font-family = !name
    src = url(!url + ".eot")
    src = local(!name), url(!url + ".ttf") format("truetype")

+remotefont("My font", "/myfont.ttf")

становится таким:

@font-face {
  font-family: My font;
  src: url(/myfont.ttf.eot);
  src: local(My font), url(/myfont.ttf.ttf) format(truetype); }

Независимо от того, сколько я пытаюсь, у меня не может быть кавычек "Мой шрифт" (с "! Name") или "TrueType" (это удаляет кавычки). Любые идеи о том, как я могу это сделать?

Ответы [ 5 ]

6 голосов
/ 10 сентября 2009

Это можно сделать немного лучше, используя интерполяцию строк:

!name = "asdf"
.foo
  font-family = "\"#{!name}\""

Но я согласен, что нам нужен лучший подход для работы с цитируемыми строками в sass. У Sass достаточно контекста, чтобы сделать что-то умное и не перегружать логику цитирования для пользователя.

5 голосов
/ 29 января 2010

Вы можете указывать в своих переменных, используйте одинарные кавычки внутри двойные кавычки . Вот как я это делаю:

!string = "'Myriad Pro', 'Lucida Sans', Helvetica, Arial, sans-serif"
.foo
  :font-family= !string

Это будет правильно скомпилировано в:

.foo{
  font-family: 'Myriad Pro', 'Lucida Sans', Helvetica, Arial, sans-serif; }

Я думаю, вы не можете цитировать наоборот (то есть двойные кавычки внутри одинарных кавычек). Это даст вам ошибки при компиляции.

Надеюсь, это помогло!

3 голосов
/ 09 сентября 2009

Хорошо, я обнаружил, что мне нужно сделать:

"\"" + !name + "\""

Черт, это какой-то неловкий синтаксис ...

1 голос
/ 23 марта 2010

Использование http://www.fontsquirrel.com/fontface/generator У меня есть соответствующий миксин Sass:

=addfont(!name, !url, !family = 0)
  @if !family == 0
    !family = !name
  @font-face
    font-family = "'#{!name}'"
    src = url(!url + ".eot")
    src = local("'#{!name}'"), local("'#{!family}'"), url(!url + ".woff") format("'woff'"), url(!url + ".ttf") format("'truetype'"), url(!url + ".svg#" + !name) format("'svg'")
0 голосов
/ 26 февраля 2018

Это приводит кавычки вокруг вещей:

@font-face {
  src: url("\"#{$ngx-font-path}/ngx-icon.eot\"");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...