Доступ к константе http_images_path в файле SASS - PullRequest
2 голосов
/ 20 января 2012

Я пытаюсь написать @mixin для дисплея с высокой плотностью, как iPhone 4+ Retina Display.Поэтому я хочу автоматически добавить "@2x" в качестве суффикса к именам файлов изображений.

Поскольку image-url() отбрасывает весь путь назад, я не могу добавить суффикс.Не я пытаюсь получить доступ к Image-Path, который я установил в конфигурации, чтобы связать вместе URL-адрес.

Например:

   background: $color url("#{$http_images_path}"+"#{$image-name}"+"@2x"+"#{$image-extension}") $x $y no-repeat

Но # {$ http_images_path}не определено.Есть ли способ получить к нему доступ?Я действительно не хочу определять путь к изображению отдельно, так как это сделает конфигурацию совершенно ненужной.

Еще приятнее было бы, если бы я мог разделить возвращаемую функцию image-url () перед "."расширения и добавьте "@ 2x", потому что мне не нужно было бы определять расширение отдельно.Я пытался использовать Ruby в файле sass, например puts "test", но это не сработало.Так что я не уверен, есть ли способ разделить строки с помощью sass.

У вас, ребята, есть какие-нибудь хорошие идеи?

Спасибо!Alex

1 Ответ

0 голосов
/ 22 января 2012

Вы можете объединить имя вашего изображения внутри image_url()

config.rb

images_dir = "images"
http_images_path = "/your/path"

screen.sass

$image-name: "asset"
$image-extension: ".png"

.class
  background-image: image_url($image-name + "@2x" + $image-extension)

screen.css

/* line 4, ../sass/screen.sass */
.class {
  background-image: url('/your/path/asset@2x.png?1327210853');
}

Если вы хотите пойти по пути разделения имени файла и вставки @2x, вам придется создать расширение, где ruby ​​сделает это за вас.Вы можете использовать мое расширение компаса в качестве отправной точки.

...