freeCodeCamp/curriculum/challenges/spanish/03-front-end-libraries/sass/extend-one-set-of-css-style...

85 lines
3.1 KiB
Markdown
Raw Normal View History

2018-10-08 17:34:43 +00:00
---
id: 587d7fa5367417b2b2512bbd
title: Extend One Set of CSS Styles to Another Element
localeTitle: Extiende un conjunto de estilos CSS a otro elemento
required:
- src: 'https://cdnjs.cloudflare.com/ajax/libs/sass.js/0.10.9/sass.sync.min.js'
raw: true
challengeType: 0
---
## Description
<section id='description'>
Sass tiene una característica llamada <code>extend</code> que facilita tomar prestadas las reglas de CSS de un elemento y construirlas sobre otro.
Por ejemplo, el siguiente bloque de reglas CSS <code>.panel</code> una clase <code>.panel</code> . Tiene un <code>background-color</code> , <code>height</code> y <code>border</code> .
<blockquote>.panel{<br>&nbsp;&nbsp;background-color: red;<br>&nbsp;&nbsp;height: 70px;<br>&nbsp;&nbsp;border: 2px solid green;<br>}</blockquote>
Ahora quieres otro panel llamado <code>.big-panel</code> . Tiene las mismas propiedades base que el <code>.panel</code> , pero también necesita un <code>width</code> y <code>font-size</code> .
Es posible copiar y pegar las reglas CSS iniciales de <code>.panel</code> , pero el código se vuelve repetitivo a medida que agrega más tipos de paneles.
La directiva de <code>extend</code> es una forma sencilla de reutilizar las reglas escritas para un elemento y luego agregar más para otro:
<blockquote>.big-panel{<br>&nbsp;&nbsp;@extend .panel;<br>&nbsp;&nbsp;width: 150px;<br>&nbsp;&nbsp;font-size: 2em;<br>}</blockquote>
El <code>.big-panel</code> tendrá las mismas propiedades que <code>.panel</code> además de los nuevos estilos.
</section>
## Instructions
<section id='instructions'>
Cree una clase <code>.info-important</code> que extienda <code>.info</code> y que también tenga un <code>background-color</code> configurado en magenta.
</section>
## Tests
<section id='tests'>
```yml
tests:
- text: Su clase de <code>info-important</code> debe tener un <code>background-color</code> configurado en <code>magenta</code> .
testString: 'assert(code.match(/\.info-important\s*?{[\s\S]*background-color\s*?:\s*?magenta\s*?;[\s\S]*}/gi), "Your <code>info-important</code> class should have a <code>background-color</code> set to <code>magenta</code>.");'
- text: Su clase de <code>info-important</code> debe usar <code>@extend</code> para heredar el estilo de la clase de <code>info</code> .
testString: 'assert(code.match(/\.info-important\s*?{[\s\S]*@extend\s*?.info\s*?;[\s\S]*/gi), "Your <code>info-important</code> class should use <code>@extend</code> to inherit the styling from the <code>info</code> class.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='html-seed'>
```html
<style type='text/sass'>
h3{
text-align: center;
}
.info{
width: 200px;
border: 1px solid black;
margin: 0 auto;
}
</style>
<h3>Posts</h3>
<div class="info-important">
<p>This is an important post. It should extend the class ".info" and have its own CSS styles.</p>
</div>
<div class="info">
<p>This is a simple post. It has basic styling and can be extended for other uses.</p>
</div>
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>