Sass - Diretivas de Função
Neste capítulo, estudaremos sobre Function Directives. No SASS, você pode criar sua própria função e usá-las em seu contexto de script ou pode ser usado com qualquer valor. As funções são chamadas usando o nome da função e com quaisquer parâmetros.
Exemplo
O exemplo a seguir demonstra o uso da diretiva de função no arquivo SCSS -
function_directive.htm
<html>
<head>
<title>Nested Rules</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>
<div class = "container" id = "set_width">
<h2>Example for Function directives</h2>
<p>SASS stands for Syntactically Awesome Stylesheet. </p>
</div>
</body>
</html>
Em seguida, crie o arquivo style.scss .
style.scss
$first-width: 5px;
$second-width: 5px;
@function adjust_width($n) {
@return $n * $first-width + ($n - 1) * $second-width;
}
#set_width { padding-left: adjust_width(10); }
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
A seguir, execute o comando acima; ele criará o arquivo style.css automaticamente com o seguinte código -
style.css
#set_width {
padding-left: 95px;
}
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -
Salve o código html fornecido acima em function_directive.html Arquivo.
Abra este arquivo HTML em um navegador, uma saída é exibida conforme mostrado abaixo.
Na saída, você pode ver que o preenchimento esquerdo está sendo aplicado.
Assim como o mixin, a função também pode acessar variáveis definidas globalmente e também pode aceitar parâmetros. Você deve chamar o valor de retorno para a função usando@return. Podemos chamar as funções definidas pelo SASS usando parâmetros de palavras-chave.
Chame a função acima conforme mostrado abaixo.
#set_width { padding-left: adjust_width($n: 10); }
Convenções de Nomenclatura
Para evitar conflitos de nomenclatura, os nomes das funções podem ser prefixados para que possam ser facilmente diferenciados. Como mixins, argumentos variáveis também são suportados por funções definidas pelo usuário. Funções e outros identificadores SASS podem usar sublinhados (_) e hifens (-) de forma intercambiável.
Por exemplo, se uma função é definida como adjust_width, pode ser usado como adjust-width, e vice versa.