Я пишу свой CSS в файле SASS и скомпилирую его с помощью CodeKit в документ CSS. Я постоянно был озадачен тем, как именно SASS компилирует мои правила CSS, особенно когда я пытаюсь отслеживать скомпилированные правила CSS, которые, похоже, не имеют соответствующего правила SASS.Почему SASS создает так много правил CSS?
У меня есть SASS файл со следующим правилом, которое не вложен:
.interviewprep .products .module img {
float: left;
margin: 0 1em 0 0;
width: 10em;
}
Но когда я смотрю на мой скомпилированный файл CSS, и я искать ".interviewprep .продукция .module IMG," I найти это гигантское правило CSS:
.interviewprep .products .module img,.interviewprep .products .bluemodule img
.interviewprep .products .page-template-page-1col-php .customersspeak .speak_small p img,
.page-template-page-1col-php .customersspeak .speak_small .interviewprep .products p img,
.interviewprep .products .videowidget img, .interviewprep .products .page-id-2310
.pricebox img, .page-id-2310 .interviewprep .products .pricebox img, .interviewprep
.products .page-id-2406 .pricebox img, .page-id-2406 .interviewprep .products .pricebox
img, ..interviewprep .products .excel a[title="pdf"] img, .excel .interviewprep .products
a[title="pdf"] img, .interviewprep .products .excel a[title="pdf2"] img,
.excel .interviewprep .products a[title="pdf2"] img, .interviewprep .products div.wpcf7
img, .interviewprep .products .mycourses form img, .mycourses .interviewprep .products
form img {
float: left;
margin: 0 1em 0 0;
width: 10em;
}
Теперь, сначала я подумал, это процесс компиляции достаточно умен, чтобы пойти и найти все правила в моем Sass документе, которые используют 3 правил:
float: left;
margin: 0 1em 0 0;
width: 10em;
и объединить их все вместе в выпуске css? Но это не так. Когда я ищу «margin: 0 1em 0 0;» как в моем SASS, так и в моем файле CSS, единственным элементом, использующим это правило, является не-вложенное правило из моего файла SASS (как указано выше). .interviewprep .products .module img "
Даже БОЛЬШЕ мистифицировать меня что кроме первого элемента «.interviewprep .products .module img», NONE из тех элементов этой гигантской линии в моем скомпилированном css записываются где-нибудь в моем файле SASS. Ни один из них не написан в неназванном формате и не существует комбинаций вложенных элементов, которые могли бы создавать эти «скомпилированные» элементы.
Например, нигде в моем файле SASS является то, что второй элемент из гигантской Css строки: «.interviewprep .продукция .bluemodule IMG»
Это правило нигде не должны быть найден в безгнездном формате, и не существует любые комбинации вложенных форматов, которые производят это правило, как в:
.interviewprep .prouducts {
.bluemodule {
img {
}
}
}
так где все могли бы из этих правил, возможно, будут приходить из? Я сделал тонну назад и вперед, пытаясь отследить все эти правила - мой файл css ЗАПОЛНЕН с ними. Я отнял TON ненужного гнездования, но все же у меня слишком много правил в моем css.
Я не могу воспроизвести эту проблему. http://sassmeister.com/gist/8800f9e4144f96feadc5 Вам нужно предоставить [MCVE] (http://stackoverflow.com/help/mcve), чтобы мы могли вам помочь. –
Вы пытались скомпилировать свой css с включенной опцией 'line_numbers'? Это скажет вам, где в вашем sass-файле определено определенное правило. См. Здесь: http://sass-lang.com/documentation/file.SASS_REFERENCE.html#line_numbers-option – nzifnab
Общая догадка, но, возможно, бродячая фигурная скобка на самом деле что-то гнездится? Было бы полезно, если бы вы предоставили весь файл SASS. – Jason