#css #svg #sass
#css #svg #sass
Вопрос:
Я использую sass в своем проекте. И у меня проблема: файл scss на один уровень ниже в каталоге, чем результирующий файл css. Из-за этого мой компилятор компилируется url(#CSSLocator)
как url(../#CSSLocator)
. Мне нужно использовать эту url
функцию в качестве местоположения для фильтрации (svg-фильтр в этом же файле).
Знаете ли вы, как указать компилятору SASS обрабатывать этот путь непосредственно таким, какой он есть, а не изменять его?
Редактировать:
Моя структура каталогов такова
содержимое/main.scss
содержимое/стили/main.css
и filter: url('#GradientMap');
после компиляции генерирует url("../#GradientMap");
, вероятно, из-за структуры каталога.
Комментарии:
1. Можете ли вы показать структуру каталогов вашего проекта и то, как код, вызывающий ошибку, записан в вашем
scss
файле?2. какие версии sass и compass вы используете?
3. Честно говоря, я совершенно не представляю. Я использую это расширение visual Studio для его компиляции. Но я сделал это, как показано ниже, просто жестко запрограммировал встроенный стиль. Спасибо за вашу помощь 🙂
4. Просто запустите
sass -v
в терминале иcompass -v
. Я проводил некоторое исследование, и я думаю, что это может быть из-за версии, вот почему. Если это так, вам не придется его жестко кодировать5. О, я понимаю. В любом случае вы можете взглянуть на эти ссылки, проблема с github sass # 989 и проблема с github compass # 412 . Думаю, вы столкнулись с той же проблемой, и, похоже, это ошибка в определенных версиях
Ответ №1:
Вы должны использовать тот же прямой путь к файлу css, Sass — это просто компилятор css.
Комментарии:
1. Я знаю, но в моем проекте CSS на один уровень глубже, в drectory означает: /file.scss /content/file.css, поэтому Sass добавьте ../ в начале, которое (в данном случае) Я не хочу, и я ищу способ заставить sass скомпилировать это напрямую.
Ответ №2:
Я не понял, как это сделать. Я просто жестко запрограммировал встроенный стиль в своем html вместо борьбы с Sass.
<img src="urlToPic" style="filter: url('#GradientMap');">