Skip to content

Commit 26bebe0

Browse files
authored
Merge pull request #67 from rosinni/master
update instructions exercises 09-10
2 parents ce514d2 + 8af8a8e commit 26bebe0

File tree

8 files changed

+155
-46
lines changed

8 files changed

+155
-46
lines changed

exercises/09-Beautify/README.es.md

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,27 @@ Este es un ejemplo de la vida real patrocinado por uno de nuestros estudiantes;
44

55
![beautify](../../.learn/assets/09-Beauty.png?raw=true)
66

7-
En este momento, algunos de los divs no se muestran, otros se muestran de manera diferente, etc.
7+
Sin embargo, el código contiene varios errores que impiden que se vea correctamente. Tu tarea es **arreglar el HTML y CSS** para que cumpla con los siguientes requisitos técnicos.
8+
9+
- Mostrar **6 cuadros** (`div`) visibles, cada uno con un número del 1 al 6 dentro de una etiqueta `<strong>`.
10+
- Cada cuadro debe tener un `id` único: `div1`, `div2`, ..., `div6`.
11+
- Todos los `div` deben tener **dimensiones exactas** y **colores de fondo específicos**.
12+
- Algunos cuadros deben tener `border-radius` y color de texto personalizado.
813

9-
El problema aquí es que faltan algunas etiquetas de apertura y cierre, algunos selectores CSS están duplicados y algunos `div` tienen el mismo `#id`.
1014

1115
## 📝 Instrucciones:
1216

13-
1. Arregla el código y haz que se vea como se supone que debe verse.
17+
1. Cada `div` debe tener un ancho de `150px` y alto de `100px`.
18+
2. `div1` y `div5` deben tener **fondo rojo**.
19+
3. `div2` y `div4` deben tener **fondo azul**.
20+
4. `div3` debe tener **fondo amarillo**.
21+
5. `div6` debe tener **fondo negro**.
22+
6. `div2`, `div3`, `div5` y `div6` deben tener **texto blanco** y `border-radius: 25px`.
23+
7. `div1` y `div4` deben tener `border-radius: 50px`.
24+
8. Cada `div` debe contener un número del 1 al 6, envuelto en una etiqueta `<strong>`.
25+
26+
27+
## ⚠️ Importante:
1428

15-
## 💡 Pista:
29+
No elimines ni modifiques los elementos del `<head>` como `<meta>`, `<title>` o `<link>`.
1630

17-
+ El nombre de los siguientes id's deben seguir el mismo patrón (`div1`, `div2`, `div3`, `div4`, ..., `div6`)

exercises/09-Beautify/README.md

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,29 @@
11
# `09` Beautify
22

3-
This is a real life example sponsored by one of our students; in this case, he was trying to make his website look like this:
3+
This is a real-life example sponsored by one of our students; in this case, they were trying to make their website look like this:
44

55
![beautify](../../.learn/assets/09-Beauty.png?raw=true)
66

7-
Right now, some of the divs don't show, others show in a different way, etc.
7+
However, the code contains several errors that prevent it from displaying correctly. Your task is to **fix the HTML and CSS** so that it meets the following technical requirements.
8+
9+
- Display **6 visible boxes** (`div`), each with a number from 1 to 6 inside a `<strong>` tag.
10+
- Each box must have a unique `id`: `div1`, `div2`, ..., `div6`.
11+
- All `div`s must have **exact dimensions** and **specific background colors**.
12+
- Some boxes must have `border-radius` and custom text color.
813

9-
The problem here is some missing opening and closing tags, some CSS selectors are duplicated and some `div` have the same `#id`.
1014

1115
## 📝 Instructions:
1216

13-
1. Fix the code and make it look how it was supposed to look.
17+
1. Each `div` must be `150px` wide and `100px` high.
18+
2. `div1` and `div5` must have a **red background**.
19+
3. `div2` and `div4` must have a **blue background**.
20+
4. `div3` must have a **yellow background**.
21+
5. `div6` must have a **black background**.
22+
6. `div2`, `div3`, `div5`, and `div6` must have **white text** and `border-radius: 25px`.
23+
7. `div1` and `div4` must have `border-radius: 50px`.
24+
8. Each `div` must contain a number from 1 to 6, wrapped in a `<strong>` tag.
25+
1426

15-
## 💡 Hint:
27+
## ⚠️ Important:
1628

17-
+ The name of the next id's should follow the pattern (`div1`, `div2`, `div3`, `div4`, ..., `div6`)
29+
Do not remove or modify the `<head>` elements such as `<meta>`, `<title>`, or `<link>`.
Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
11
# `09.1` Before and After
22

3-
Cada elemento HTML tiene elementos `::before` y `::after` que están ocultos por defecto. Estos elementos son muy útiles cuando se quieren crear pequeños detalles como insignias, pegatinas, etc.
3+
Este ejercicio te ayudará a practicar el uso de pseudoelementos CSS `::before` y `::after`, que permiten agregar contenido decorativo a los elementos HTML sin modificar el HTML directamente. Son útiles para crear detalles como flechas, etiquetas o elementos visuales extra.
4+
5+
En este caso, ya se ha aplicado un pseudoelemento `::before` sobre un encabezado `<h1>` con el texto `"Hello World"`, generando una flecha triangular que apunta a la izquierda.
6+
7+
Sin embargo, el código aún está incompleto. Tu tarea es agregar una segunda flecha al lado derecho del texto utilizando `::after`.
48

5-
En este caso, estamos usando el selector `::before` para crear una flecha triangular a la izquierda del `<h1>` "Hello World".
69

710
## 📝 Instrucciones:
811

9-
Usa el selector `::after` para crear otra flecha al otro lado de la `h1`. Esta nueva flecha tiene que apuntar a la derecha, por supuesto.
12+
1. Usa el pseudoelemento `::after` sobre el `<h1>` existente.
13+
2. La flecha debe apuntar **a la derecha** del texto `"Hello World"`.
14+
3. La flecha debe estar construida exclusivamente con CSS (por ejemplo, usando `border-left`).
15+
4. Asegúrate de que la flecha `::after` esté alineada visualmente con la flecha `::before`.
1016

1117
## 💻 Resultado esperado:
1218

1319
![Before and After](../../.learn/assets/BKz8ozg.png?raw=true)
20+
21+
22+
## 💡 Pista:
23+
24+
Puedes construir flechas en CSS usando bordes. Para una flecha que apunta a la derecha, prueba con algo como:
25+
26+
```css
27+
border-left: 10px solid black;
28+
border-top: 5px solid transparent;
29+
border-bottom: 5px solid transparent;
30+
```
31+
Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,28 @@
11
# `09.1` Before and After
22

3-
Every HTML has `::before` and `::after` elements that are hidden by default. These elements are very useful when you want to create little details like badges, stickers, etc.
3+
This exercise will help you practice using the CSS pseudo-elements `::before` and `::after`, which allow you to add decorative content to HTML elements without modifying the HTML directly. They are useful for creating details like arrows, labels, or extra visual elements.
44

5-
In this case, we are using the `::before` selector to create a triangle arrow on the left of the "Hello World" `<h1>`.
5+
In this case, a `::before` pseudo-element has already been applied to a `<h1>` heading with the text `"Hello World"`, generating a left-pointing triangular arrow.
6+
7+
However, the code is still incomplete. Your task is to add a second arrow to the right side of the text using `::after`.
68

79
## 📝 Instructions:
810

9-
1. Use the `::after` selector to create another arrow on the other side of the `h1`. This new arrow needs to point to the right, of course.
11+
1. Use the `::after` pseudo-element on the existing `<h1>`.
12+
2. The arrow should point **to the right** of the `"Hello World"` text.
13+
3. The arrow must be built exclusively with CSS (for example, using `border-left`).
14+
4. Make sure the `::after` arrow is visually aligned with the `::before` arrow.
1015

1116
## 💻 Expected result:
1217

1318
![Before and After](../../.learn/assets/BKz8ozg.png?raw=true)
19+
20+
## 💡 Hint:
21+
22+
You can build arrows in CSS using borders. For a right-pointing arrow, try something like:
23+
24+
```css
25+
border-left: 10px solid black;
26+
border-top: 5px solid transparent;
27+
border-bottom: 5px solid transparent;
28+
```
Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,30 @@
11
# `09.2` Calendar Icon
22

3-
En este caso, estamos usando `::before` y `::after` para intentar recrear un ícono de calendario como este:
3+
En este ejercicio, usarás los pseudoelementos `::before` y `::after` para construir un ícono que simule la apariencia de un calendario clásico con anillos de sujeción. El objetivo es aplicar estilos creativos con CSS para generar formas visuales sin usar imágenes externas.
4+
5+
El elemento base es un `div` con la clase `.calendar`, que contiene un elemento `<em>`. Ya se han creado los pseudoelementos, pero su posición, color y forma no están correctamente definidos.
46

57
![Calendar Icon](../../.learn/assets/AlDLXvy.png?raw=true)
68

9+
10+
711
## 📝 Instrucciones:
812

9-
1. Por favor, mueve los elementos `::before` y `::after` del elemento `.calendar` de la forma adecuada para que puedan ser ubicados como en la imagen.
13+
1. Usa `position: absolute` para posicionar adecuadamente los pseudoelementos `::before` y `::after` del contenedor `.calendar`, de modo que representen los bordes o marcas superiores del calendario.
14+
15+
2. Aplica también `position: absolute` a los pseudoelementos `::before` y `::after` del elemento `<em>` (que actúan como anillos o sujetadores).
1016

11-
2. Por favor, mueve el `::before` y `::after` del elemento `<em>` de la forma adecuada para que puedan ser ubicados como en la imagen.
17+
3. Ajusta sus colores para que coincidan entre sí y simulen visualmente el metal o plástico del anillo.
1218

13-
3. Cambia sus colores también, para que puedan tener el mismo color, y aplica el `border-radius` a los elementos `::before` y `::after` del elemento `<em>` para que se vean como un anillo en 2 dimensiones visto desde el frente.
19+
4. Aplica `border-radius` a los pseudoelementos de `<em>` para que tomen una forma circular, simulando un anillo visto desde el frente (2D).
1420

15-
## 💡 Pista:
1621

17-
+ Si no los colocas en `position: absolute`, continuarán ocupando el área/espacio original que estaban ocupando.
1822

23+
## 💡 Pista:
24+
25+
+ Si no colocas los pseudoelementos en `position: absolute`, seguirán ocupando espacio en el flujo del documento.
26+
+ Puedes usar propiedades como `width`, `height`, `background-color`, `border-radius` y `top`, `left`, etc. para posicionar y estilizar los anillos.
1927
+ Este ejercicio no tiene pruebas debido a que se puede llegar a la solución con diferentes valores, por lo que cuando el resultado de tu código se vea similar al ejemplo, puedes pasar al siguiente ejercicio.
28+
29+
30+

exercises/09.2-Calendar-icon/README.md

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,31 @@
11
# `09.2` Calendar Icon
22

3-
In this case, we are using the `::before` and `::after` elements to try to recreate a calendar icon like this one:
3+
In this exercise, you will use the `::before` and `::after` pseudo-elements to build an icon that simulates the appearance of a classic calendar with binding rings. The goal is to apply creative CSS styles to generate visual shapes without using external images.
4+
5+
The base element is a `div` with the class `.calendar`, which contains an `<em>` element. The pseudo-elements have already been created, but their position, color, and shape are not correctly defined.
46

57
![Calendar Icon](../../.learn/assets/AlDLXvy.png?raw=true)
68

9+
10+
711
## 📝 Instructions:
812

9-
1. Please move the `::before` and `::after` elements of the `.calendar` element in the proper way, so they can be placed just like in the picture.
13+
1. Use `position: absolute` to properly position the `.calendar` container's `::before` and `::after` pseudo-elements so that they represent the top edges or marks of the calendar.
14+
15+
2. Also apply `position: absolute` to the `<em>` element's `::before` and `::after` pseudo-elements (which act as rings or binders).
16+
17+
3. Adjust their colors so that they match each other and visually simulate the metal or plastic of the ring.
18+
19+
4. Apply `border-radius` to the `<em>` pseudo-elements so that they take on a circular shape, simulating a ring seen from the front (2D).
20+
21+
22+
23+
## 💡 Hint:
1024

11-
2. Please move the `::before` and `::after` of the `<em>` element in the proper way, so they can be placed just like in the picture.
25+
+ If you don't set the pseudo-elements to `position: absolute`, they will continue to take up space in the document flow.
26+
+ You can use properties like `width`, `height`, `background-color`, `border-radius`, and `top`, `left`, etc. to position and style the rings.
27+
+ This exercise does not have tests because there are different possible solutions, so when your code visually matches the example, you can move on to the next exercise.
1228

13-
3. Change their colors as well, so they can have the same color, and apply the `border-radius` to the `::before` and `::after` of the `<em>` to make them look like a ring in 2 dimensions seen from the front.
1429

15-
## 💡 Hints:
1630

17-
+ If you don't make them `position: absolute`, they will continue occupying the original area/space they were occupying.
1831

19-
+ This exercise doesn't have tests because the solution can be reached with different values, after your code's result looks similar to the example, you can go to the next exercise.

exercises/10-static-layout/README.es.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,32 @@
11
# `10` Static Layout
22

3-
Aplica los estilos necesarios en el `.wrapper` `.secondWrapper`, `<header>`, `<nav>` y `<section>` para que la página web se vea como en la imagen.
3+
En este ejercicio trabajarás con posicionamiento y distribución estática usando `flexbox` y otras propiedades básicas de CSS. El objetivo es construir un diseño de página simple pero correctamente alineado, donde los elementos principales se distribuyen con márgenes y anchos específicos.
44

5-
## 📝 Instrucciones:
5+
El HTML ya está estructurado con las siguientes clases y elementos:
66

7-
1. `.secondWrapper` debe ser un contenedor flex. Para esto, necesitas usar `display: flex`.
7+
- `.wrapper` (contenedor general)
8+
- `.secondWrapper` (contenedor de `nav` y `section`)
9+
- `<header>`
10+
- `<nav>`
11+
- `<section>`
812

9-
## 💡 Pistas:
1013

11-
- No cambies nada en el HTML.
14+
## 📝 Instrucciones:
1215

13-
- El contenedor `section` tiene aproximadamente un ancho (`width`) de `80%`.
16+
1. Aplica `display: flex` sobre el contenedor `.secondWrapper` para que sus elementos hijos se dispongan en línea (horizontalmente).
17+
2. El elemento `<section>` debe ocupar aproximadamente el `80%` del ancho de `.secondWrapper`.
18+
3. El `<nav>` debe ubicarse a la izquierda del `<section>`.
19+
4. Asegúrate de que haya un espacio de `10px`:
20+
- Entre `<nav>` y `<section>`.
21+
- Entre `<section>` y el borde derecho del contenedor.
22+
5. El diseño debe mantenerse estable, sin usar `position: absolute` o `float`.
1423

15-
- Todos los espacios entre contenedores son de `10px`. Por ejemplo, hay un espacio de `10px` entre el contenedor `nav` y el contenedor `section`, y también entre contenedor `section` y el borde derecho de la pagina.
24+
## 💡 Pistas:
1625

26+
- No modifiques el archivo HTML.
27+
- Usa propiedades como `gap`, `margin`, `padding`, `width`, `flex`, etc.
28+
- Si usas `gap`, asegúrate de que sea aplicado en el contenedor adecuado.
29+
- Puedes usar colores de fondo temporales para visualizar los bloques mientras trabajas.
1730
- Este ejercicio no tiene pruebas, compara tu resultado con la imagen dada.
1831

1932
## 💻 Resultado esperado:
Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,35 @@
1-
# `10` Static Layout
1+
# `10` Static Layout
22

3-
Apply the necessary styles to `.wrapper`,`.secondWrapper`, `<header>`, `<nav>` and `<section>` to make the website look like the image.
3+
In this exercise, you will work with static positioning and distribution using `flexbox` and other basic CSS properties. The goal is to build a simple but properly aligned page layout, where the main elements are distributed with specific margins and widths.
44

5-
## 📝 Instructions:
6-
1. `.secondWrapper` should be a flex container. You should use `display: flex` for that.
5+
The HTML is already structured with the following classes and elements:
6+
7+
- `.wrapper` (main container)
8+
- `.secondWrapper` (container for `nav` and `section`)
9+
- `<header>`
10+
- `<nav>`
11+
- `<section>`
712

8-
## 💡 Hints:
913

10-
- Don't change anything on the HTML.
14+
## 📝 Instructions:
1115

12-
- The `section` container has approximately a width of `80%`.
16+
1. Apply `display: flex` to the `.secondWrapper` container so its child elements are arranged in a row (horizontally).
17+
2. The `<section>` element should take up approximately `80%` of the width of `.secondWrapper`.
18+
3. The `<nav>` should be positioned to the left of the `<section>`.
19+
4. Make sure there is a `10px` space:
20+
- Between `<nav>` and `<section>`.
21+
- Between `<section>` and the right edge of the container.
22+
5. The layout should remain stable, without using `position: absolute` or `float`.
1323

14-
- All gaps between containers are `10px`. For example, there is a `10px` space between the `nav` container and the `section` container, and also between the `section` container and the right side of the page.
24+
## 💡 Tips:
1525

16-
- This exercise doesn't have tests, compare your result with the image example.
26+
- Do not modify the HTML file.
27+
- Use properties like `gap`, `margin`, `padding`, `width`, `flex`, etc.
28+
- If you use `gap`, make sure it is applied to the appropriate container.
29+
- You can use temporary background colors to visualize the blocks while working.
30+
- This exercise has no tests; compare your result with the given image.
1731

1832
## 💻 Expected result:
1933

2034
![Static Layout](../../.learn/assets/0B62fyP.png?raw=true)
35+

0 commit comments

Comments
 (0)