2016-09-07 6 views
0

Я разрабатываю приложение в C# и Asp.Net MVC. У меня есть различные CSS файлы один называется base.css который я тогда импортировать в другие файлы CSS, используя @import правило, как:Объединение css даже при использовании @import

@import url('base.css'); 

Затем я связать свои CSS файлы, чтобы минимизировать их как:

bundles.Add(new StyleBundle("~/Content/css").Include(
        "~/Content/bootstrap.css", 
        "~/Content/site.css")); 
        ... more css files 

Так что мой вопрос мне нужно связать base.css, даже если я импортирую его в другой css? Потому что, если я не сплющиваю его, то стилизация не работает должным образом.

+0

Возможно, это не тот ответ, который вы хотите услышать, но почему бы просто не включить 'base.css' в свой комплект. Известно, что импорт вызывает проблемы со скоростью страницы. После того как вы в комплекте, вы можете удалить '@ import' –

+0

@AshleyMedway Это, вероятно, маршрут, по которому я собираюсь спуститься, но мне просто интересно, почему это не работает, и от ответа' @ krillgar' это имеет смысл – Izzy

+0

Да, это в основном ответ, я бы добавил, что вы можете заставить его «работать», если ваш файл импорта находится в «том же» месте (виртуальном) в качестве вашего пакета или с использованием абсолютного URL-адреса –

ответ

1

Поскольку MVC Bundler создает совершенно новый файл в потенциально другом месте (см. Полный путь в имени вашего пакета), расположение этих import заявлений теперь становится неточным.

Вместо этого вы можете создать отдельный файл CSS (или статическую декларацию на странице _Layout, которая включает только те инструкции import) и включить их за пределы любого пакета.

Смежные вопросы