Skip to main content

--description--

One feature of Sass that's different than CSS is it uses variables. They are declared and set to store data, similar to JavaScript.

In JavaScript, variables are defined using the let and const keywords. In Sass, variables start with a $ followed by the variable name.

Here are a couple examples:

$main-fonts: Arial, sans-serif;
$headings-color: green;

And to use the variables:

h1 {
font-family: $main-fonts;
color: $headings-color;
}

One example where variables are useful is when a number of elements need to be the same color. If that color is changed, the only place to edit the code is the variable value.

--instructions--

Create a variable $text-color and set it to red. Then change the value of the color property for the .blog-post and h2 to the $text-color variable.

--hints--

Your code should have a Sass variable declared for $text-color with a value of red.

assert(code.match(/\$text-color\s*:\s*?red\s*;/g));

Your code should use the $text-color variable to change the color for the .blog-post and h2 items.

assert(code.match(/color\s*:\s*\$text-color\s*;?/g));

Your .blog-post element should have a color of red.

assert($('.blog-post').css('color') == 'rgb(255, 0, 0)');

Your h2 elements should have a color of red.

assert($('h2').css('color') == 'rgb(255, 0, 0)');

--seed--

--seed-contents--

<style type='text/scss'>


.header{
text-align: center;
}
.blog-post, h2 {
color: red;
}
</style>

<h1 class="header">Learn Sass</h1>
<div class="blog-post">
<h2>Some random title</h2>
<p>This is a paragraph with some random text in it</p>
</div>
<div class="blog-post">
<h2>Header #2</h2>
<p>Here is some more random text.</p>
</div>
<div class="blog-post">
<h2>Here is another header</h2>
<p>Even more random text within a paragraph</p>
</div>

--solutions--

<style type='text/scss'>
$text-color: red;

.header{
text-align: center;
}
.blog-post, h2 {
color: $text-color;
}
</style>

<h1 class="header">Learn Sass</h1>
<div class="blog-post">
<h2>Some random title</h2>
<p>This is a paragraph with some random text in it</p>
</div>
<div class="blog-post">
<h2>Header #2</h2>
<p>Here is some more random text.</p>
</div>
<div class="blog-post">
<h2>Here is another header</h2>
<p>Even more random text within a paragraph</p>
</div>