Sass - sintaxe
Neste capítulo, estudaremos sobre SASS Syntax. SASS suporta duas sintaxes, a saberSCSS e Indented syntax.
o SCSS (Sassy CSS)é uma extensão da sintaxe CSS. Isso significa que todo CSS válido também é um SCSS válido. O SCSS torna muito mais fácil manter grandes folhas de estilo e pode reconhecer a sintaxe específica do fornecedor. Muitos arquivos CSS e SCSS usam a extensão.scss.
Indented - Esta é uma sintaxe mais antiga e às vezes chamada apenas de SASS. Usando essa forma de sintaxe, CSS pode ser escrito de forma concisa. Arquivos SASS usam a extensão.sass.
SASS Indentada Sintaxe
SASS Sintaxe recuada ou apenas SASS é uma alternativa à sintaxe SCSS baseada em CSS.
Ele usa recuo em vez de{ e } para delimitar blocos.
Para separar instruções, ele usa novas linhas em vez de ponto e vírgula (;) .
A declaração de propriedade e os seletores devem ser colocados em sua própria linha e as instruções dentro{ e }deve ser colocado em uma nova linha e recuado .
Por exemplo, considere o seguinte código SCSS -
.myclass {
color = red;
font-size = 0.2em;
}
o indentedA sintaxe é uma sintaxe mais antiga, que não é recomendada para uso em novos arquivos Sass. Se você usar este arquivo, ele exibirá um erro no arquivo CSS como usamos= em vez de definir propriedades e variáveis.
Compile o código fornecido acima usando o seguinte comando -
sass --watch C:\ruby\lib\sass\style.scss:style.css
Em seguida, execute o comando acima; ele exibirá um erro no arquivo style.css conforme mostrado abaixo -
Error: Invalid CSS after " color = red": expected "{", was ";"
on line 2 of C:\ruby\lib\sass\style17.scss
1:.myclass {
2: color = red;
3: font-size = 0.2em;
4:}
Diferenças de sintaxe de SASS
A maioria das sintaxes CSS e SCSS funcionam perfeitamente no SASS. No entanto, existem algumas diferenças, que são explicadas nas seções a seguir -
Sintaxe de propriedade
As propriedades CSS podem ser declaradas de duas maneiras -
As propriedades podem ser declaradas semelhantes ao CSS, mas sem semicolon(;).
colon(:) será prefixado em cada nome de propriedade.
Por exemplo, você pode escrever como -
.myclass
:color red
:font-size 0.2em
Ambas as formas acima (declaração de propriedades sem ponto-e-vírgula e dois pontos prefixados ao nome da propriedade) podem ser usadas, por padrão. No entanto, apenas uma sintaxe de propriedade pode ser especificada quando você usa a opção : property_syntax .
Seletores multilinha
Na sintaxe recuada, os seletores podem ser colocados em uma nova linha sempre que aparecerem após commas.
Exemplo
O exemplo a seguir descreve o uso de seletores multilinhas no arquivo SCSS -
<html>
<head>
<title>Multiline Selectors</title>
<link rel = "stylesheet" type = "text/css" href = "style.css" />
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<h2>Example using Multiline Selectors</h2 >
<p class = "class1">Welcome to Tutorialspoint!!!</p>
<p class = "class2">SASS stands for Syntactically Awesome Stylesheet...</p>
</body>
</html>
Em seguida, crie o arquivo style.scss . Observe a extensão .scss .
style.scss
.class1,
.class2{
color:red;
}
Você pode dizer ao SASS para observar o arquivo e atualizar o CSS sempre que o arquivo SASS for alterado, usando o seguinte comando -
sass --watch C:\ruby\lib\sass\style.scss:style.css
Em seguida, execute o comando fornecido acima, ele criará o arquivo style.css automaticamente com o seguinte código -
O style.css gerado é mostrado abaixo -
style.css
.class1,
.class2 {
color: red;
}
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -
Salve o código html fornecido acima no arquivo multiline_selectors .html.
Abra este arquivo HTML em um navegador, uma saída é exibida conforme mostrado abaixo.
Comentários
Os comentários ocupam uma linha inteira e incluem todo o texto aninhado abaixo deles. Eles são baseados em linha em sintaxe indentada. Para mais informações sobre comentários, consulte este link .
@importar
No SASS o @importdiretiva pode ser escrita com / sem aspas. Ao contrário do SCSS, eles devem ser usados com aspas.
Por exemplo, em SCSS o @import diretiva pode ser usada como -
@import "themes/blackforest";
@import "style.sass";
Isso pode ser escrito no SASS como -
@import themes/blackforest
@import fontstyle.sass
Diretivas Mixin
SASS suporta atalhos para diretivas como @mixin e @include. Ao invés de@mixin e @include você pode usar = e + caracteres, que exigem menos digitação e tornam seu código mais simples e fácil de ler.
Por exemplo, você pode escrever as diretivas do mixin como -
=myclass
font-size: 12px;
p
+myclass
O código fornecido acima é o mesmo que -
@mixin myclass
font-size: 12px;
p
@include myclass
Sintaxe obsoleta
O SASS oferece suporte ao uso de algumas sintaxes antigas. No entanto, usar esta sintaxe no SASS énot recommended. Um aviso será exibido se você usar esta sintaxe e ela for removida em versões posteriores. Algumas das sintaxes antigas são mostradas na tabela a seguir.
S. No. | Operador e descrição |
---|---|
1 | = Foi usado em vez de: ao definir variáveis e propriedades para valores de SassScript. |
2 | ||= Foi usado em vez de: sempre que você atribuiu o valor padrão de uma variável. |
3 | ! Em vez de $,! foi usado como prefixo variável. A funcionalidade não será alterada quando for usado em vez de $. |