предисловие
Большой парень: Вы когда-нибудь использовали препроцессоры CSS?
Я: Хм, я использовал вложение SASS.
佬: ничего?
Я: ... (смущенно)
Я не знаю, у всех ли ситуация такая же, как у меня, урок из прошлого,CSS
Соответствующие знания по-прежнему очень важны.
В этой статье вы узнаете, как систематизировать знания о препроцессоре CSS.Существующие популярные библиотеки включаютSass(Scss)
,Less
,Stylus
Подождите, я в основном использую его в своем проектеSass
, поэтому примеры в этой статье основаны наSass(Scss)
в качестве основы.
Основы Sass
Расширение синтаксиса CSS (каскадные таблицы стилей), появившееся в 2007 году, является самым ранним и наиболее зрелым языком препроцессора CSS.Он может использовать переменные, константы, вложенность, миксины, функции и другие функции, которые могут быть более эффективными.Гибкость для написания CSS. .
Переменная
Предоставление переменных не позволяет дизайнерам часто изменять определенный глобальный атрибут (например, общий стиль цвета), что приводит к пассивному увеличению рабочей нагрузки.
Используйте переменные для$
начни, есть全局变量
а также局部变量
.
$color: #8a8787; // 全局变量
div {
$width: 100px; // 局部变量
width: $width;
background: $color;
}
Если переменная используется в свойстве, ее необходимо записать в#{ }
середина
$side: left;
div {
border-#{$side}: 1px solid $color;
}
вложенный
Это должно быть самым знакомым. 😘 кроме选择器
может быть вложенным,属性
а также伪类
Также может быть вложенным.
<div class="parent-container">
<div class="parent-container-header"></div>
</div>
.parent-container {
&-header { // 选择器嵌套
background {
color: red; //属性嵌套
}
&:hover { // 伪类嵌套
color: green;
}
}
}
наследовать
Позволяет селектору наследовать все свойства другого селектора. использовать@extend
Наследовать существующий блок стилей.
.class1 {
border: 1px solid #ddd;
}
.class2 {
@extend .class1;
font-size: 12px;
}
смешивание
аналогичныйVue
Микширование — это код стиля, который можно использовать повторно, и в котором можно указать параметры и значения по умолчанию.@mixin
Используйте следующим образом.
@mixin left($value: 10px) {
float: left;
margin-left: $value;
}
div {
@include left(4px);
}
@import
Используется для импорта внешних файлов стилей
@import "文件相对路径"
Примечание: не рекомендуетсяimport
, поскольку импортированный файл CSS будет загружен и проанализирован только после того, как текущий файл CSS будет загружен и проанализирован, браузер начнет загрузку импортированного файла CSS, что уничтожит параллельную загрузку файлов стилей.
Примечания
Есть два способа/*注释*/
а также//注释
функция цвета
Встроенные цветовые функции для простого создания серий цветов.
lighten(#cc3, 10%) // #d6d65c
darken(#cc3, 10%) // #a3a329
grayscale(#cc3) // #808080
complement(#cc3) // #33c
Sass операции
сложение, вычитание, умножение и деление
Sass
Могут быть выполнены различные математические расчеты (переменные и свойства).Обратите внимание, что сложение и вычитание должны быть одними и теми же единицами измерения.,Раздел требует круглых скобок
$height: 10px;
div {
width: 10px + 10px;
height: $height + 10px;
margin-top: 20px -10px;
margin-left: 10px * 2;
margin-right: (10px / 2);
}
операции с персонажами
использовать+
Объединить строки
div:before {
content: "hello" + "world";
}
Sass-команды
@if
а такжеJS
Аналогично, можно использовать для миксиновmixin
, согласно оценке параметра.
@mixin isHidden($bool: true) {
@if $bool {
display: block;
}
@else {
display: none;
}
}
цикл
Может помочь создать похожие селекторы, например, определить некоторые похожие поля.margin
. имеют@for
,@while
,@each
@for $i from 1 to 10 {
.margin-#{$i} {
left: #{$i}px;
}
}
$i: 6;
while $i > 0 {
.margin-#{$i} {
left: #{$i}px;
}
$i: $i - 1;
}
@each $item in a, b, c, d {
.#{${member} {
background-image: url("/image/#{$member}.jpg");
}
}
Sass-функция
Пользовательская функция
@function double($d) {
@return $d * 2
}
div {
width: double(2px);
}
Собственная функция
Sass предоставляет аналогичные функции, такие как строки, числа, списки, карты и т. д.
Строковые функции имеютunquote
чтобы удалить кавычки из строк,quote
Используется для добавления кавычек.
Числовые функции, такие какMath
предоставить какround
,ceil
,floor
,abs
Ждать.
Функция списка имеетlength($list)
Длина списка возврата и т. д.
Я не буду перечислять их здесь по одному, но чтобы узнать, что предоставить, вы можете перейти к последующим действиям.Официальный сайтНаходить.
Суммировать
Если вы хотите лучше использовать препроцессор CSS, сначала поговорите с дизайнером, он может сыграть большую роль 😉.
Ссылаться на
Sass-Study Notes [Basic]
Руководство по использованию Sass
Знание команд и функций Sass