SquishIt генерирует пустой файл при использовании Bootstrap _:- MS-полноэкранный селектор в forms.less
Просто как предвестник, вы должны знать, что в настоящее время у меня нет возможности ссылаться на другую версию Bootstrap или использовать CDN-версию минимизированной Bootstrap.
В моем сценарии у нас есть файлы LESS из Bootstrap, на которые ссылаются наши собственные файлы LESS. Недавно, при попытке создать сжатую версию CSS с помощью SquishIt, я заметил, что выходной файл был полностью пустым.
Я проследил оскорбительную часть до форм Bootstrap.less, в частности этих хаков IE11:
// IE 11 hack to reverse the iOS temporal input hack.
_:-ms-fullscreen, :root input[type="date"],
_:-ms-fullscreen, :root input[type="time"],
_:-ms-fullscreen, :root input[type="datetime-local"],
_:-ms-fullscreen, :root input[type="month"] {
line-height: @line-height-base;
&.input-sm {
line-height: @line-height-small;
}
&.input-lg {
line-height: @line-height-large;
}
}
Кто-нибудь знает, почему именно этот блок генерирует CSS, который нарушает сжатие и приводит к выводу пустого файла? Это селектор подчеркивания? Закомментирование этой части LESS исправляет ее, и все сжимается нормально, но это не похоже на правильное исправление.
Также следует отметить, что я использую Web Essentials 2013 в Visual Studio 2013 для выполнения компиляции LESS to CSS, а WE2013 сообщает мне в IDE, что селектор подчеркивания является недействительным селектором. Не уверены, является ли это МЫ ограничением, генерирующим неправильный CSS из LESS?
1 ответ
Я не знаю много о веб-основы. Вы смотрели на SquishIt.Less? Это может использовать более современную версию без точек.
Если это не без точек, я бы заподозрил проблему с минификатором. В этом случае может помочь переключение на YUI. Можно сделать это со следующим в global.asax.cs
Bundle.ConfigureDefaults().UseYuiForCssMinification()