├── .gitignore ├── css-aulas ├── geral │ ├── time.html │ ├── styles.css │ └── index.html ├── projeto curso css │ ├── README.md │ ├── index.html │ ├── cadastro-entidade.html │ ├── styles.css │ └── assets │ │ └── hero.svg ├── sup │ └── sytles.css ├── grid │ ├── basic │ │ ├── grid.html │ │ └── grid-styles.css │ └── login │ │ ├── index.html │ │ └── styles.css ├── flexbox │ ├── flexbox-styles.css │ └── flexbox.html └── extras │ ├── index.html │ └── styles.css ├── styles.css ├── .github └── assets │ ├── ex-09.png │ ├── ex-10.png │ ├── ex-06-p1.png │ ├── ex-06-p2.png │ ├── ex-06-p3.png │ ├── ex-07-p1.png │ ├── ex-07-p2.png │ └── ex-07-p3.png ├── font-awesome ├── webfonts │ ├── fa-brands-400.ttf │ ├── fa-solid-900.ttf │ ├── fa-brands-400.woff2 │ ├── fa-regular-400.ttf │ ├── fa-solid-900.woff2 │ ├── fa-regular-400.woff2 │ ├── fa-v4compatibility.ttf │ └── fa-v4compatibility.woff2 └── LICENSE.txt ├── exercicios ├── exercicio-06 │ ├── styles.css │ └── index.html ├── exercicio-10 │ ├── styles.css │ └── index.html ├── exercicio-09 │ ├── styles.css │ └── index.html └── exercicio-07 │ ├── styles.css │ └── index.html ├── exercicio-10 ├── styles.css └── index.html ├── exercicios-resolvidos ├── exercicio-09 │ ├── styles.css │ └── index.html ├── exercicio-06 │ ├── styles.css │ └── index.html ├── exercicio-07 │ ├── styles.css │ └── index.html └── exercicio-10 │ ├── styles.css │ └── index.html ├── index.html └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /css-aulas/geral/time.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Poppins', sans-serif; 3 | } -------------------------------------------------------------------------------- /.github/assets/ex-09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-09.png -------------------------------------------------------------------------------- /.github/assets/ex-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-10.png -------------------------------------------------------------------------------- /.github/assets/ex-06-p1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-06-p1.png -------------------------------------------------------------------------------- /.github/assets/ex-06-p2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-06-p2.png -------------------------------------------------------------------------------- /.github/assets/ex-06-p3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-06-p3.png -------------------------------------------------------------------------------- /.github/assets/ex-07-p1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-07-p1.png -------------------------------------------------------------------------------- /.github/assets/ex-07-p2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-07-p2.png -------------------------------------------------------------------------------- /.github/assets/ex-07-p3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/.github/assets/ex-07-p3.png -------------------------------------------------------------------------------- /css-aulas/projeto curso css/README.md: -------------------------------------------------------------------------------- 1 | # Conceitos mais avançados 2 | 3 | - Variáveis CSS 4 | - Seletores (~, +, is:) 5 | - Pseudo elementos -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-v4compatibility.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-v4compatibility.ttf -------------------------------------------------------------------------------- /font-awesome/webfonts/fa-v4compatibility.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ada-Tech-Br/curso-digital-css/HEAD/font-awesome/webfonts/fa-v4compatibility.woff2 -------------------------------------------------------------------------------- /css-aulas/sup/sytles.css: -------------------------------------------------------------------------------- 1 | .page-content { 2 | width: 100%; 3 | height: 100vh; 4 | 5 | /* display: flex; 6 | justify-content: center; 7 | align-items: center; */ 8 | 9 | /* display: grid; */ 10 | gap: 10rem 0; 11 | grid-template-areas: 12 | ". . . . . . ." 13 | ". title title . login login ." 14 | ". title title . login login ." 15 | ". . . . login login ." 16 | ". . . . . . ." 17 | "footer footer footer footer footer footer footer" 18 | ; 19 | } -------------------------------------------------------------------------------- /exercicios/exercicio-06/styles.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --tag-color-1: #FE5F55; 3 | --tag-color-2: #3DD6D0; 4 | --tag-color-3: #7765E3; 5 | --tag-color-4: #BDD358; 6 | --tag-color-5: #89A6FB; 7 | --separator-color: #edf2f4; 8 | } 9 | 10 | * { 11 | padding: 0; 12 | margin: 0; 13 | box-sizing: border-box; 14 | } 15 | 16 | :root { 17 | font-size: 62.5%; 18 | } 19 | 20 | .container { 21 | max-width: 80rem; 22 | margin: auto; 23 | border-radius: 1.6rem; 24 | background-color: white; 25 | } 26 | 27 | h1, h2, h3, h4, h5, h6 { 28 | font-family: 'Montserrat', sans-serif; 29 | } 30 | 31 | body { 32 | font-family: 'Poppins', sans-serif; 33 | font-size: 1.6rem; 34 | padding: 3rem; 35 | } -------------------------------------------------------------------------------- /exercicio-10/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-size: 1.6rem; 13 | color: #555; 14 | } 15 | 16 | body, button, input { 17 | font-family: 'Roboto', sans-serif; 18 | } 19 | 20 | button { 21 | cursor: pointer; 22 | } 23 | 24 | header img { 25 | max-height: 75vh; 26 | width: 100%; 27 | object-fit: cover; 28 | } 29 | 30 | .action-button-div { 31 | text-align: center; 32 | } 33 | 34 | .action-button-div button { 35 | border-radius: .4rem; 36 | padding: .6rem 12rem; 37 | font-size: 2.4rem; 38 | color: #fff; 39 | border: none; 40 | background-color: #00bbf9; 41 | } 42 | 43 | .why-travel { 44 | min-height: 25vh; 45 | } 46 | 47 | .why-travel h2 { 48 | margin: 2.4rem 0; 49 | font-size: 7.8rem; 50 | color: #333; 51 | text-align: center; 52 | } 53 | 54 | .description { 55 | padding: 1.5rem; 56 | font-size: 3.2rem; 57 | 58 | display: flex; 59 | gap: 0 1.5rem; 60 | } -------------------------------------------------------------------------------- /css-aulas/grid/basic/grid.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Aula de CSS 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 |
19 |

1

20 |

2

21 |

3

22 |

4

23 |

5

24 |

6

25 |

7

26 |

8

27 |

9

28 |
29 |
30 | 31 | 32 | -------------------------------------------------------------------------------- /exercicios/exercicio-10/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-size: 1.6rem; 13 | color: #555; 14 | } 15 | 16 | body, button, input { 17 | font-family: 'Roboto', sans-serif; 18 | } 19 | 20 | button { 21 | cursor: pointer; 22 | } 23 | 24 | header img { 25 | max-height: 75vh; 26 | width: 100%; 27 | object-fit: cover; 28 | } 29 | 30 | main { 31 | padding: 0 3rem; 32 | } 33 | 34 | .find-out { 35 | min-height: 25vh; 36 | display: flex; 37 | flex-flow: column wrap; 38 | justify-content: center; 39 | align-items: center; 40 | } 41 | 42 | .find-out h2 { 43 | margin: 2.4rem 0; 44 | font-size: 3.6rem; 45 | color: #333; 46 | text-align: center; 47 | } 48 | 49 | .find-out > i { 50 | font-size: 5rem; 51 | } 52 | 53 | .description { 54 | font-size: 3.2rem; 55 | margin: 5rem 0 12rem; 56 | 57 | display: flex; 58 | gap: 0 1.5rem; 59 | } 60 | 61 | .action-button-div { 62 | text-align: center; 63 | margin: 0rem 0 4.5rem; 64 | } 65 | 66 | .action-button-div button { 67 | border-radius: .4rem; 68 | padding: 1rem 8rem; 69 | font-size: 3.6rem; 70 | color: #fff; 71 | border: none; 72 | background-color: #00bbf9; 73 | } -------------------------------------------------------------------------------- /css-aulas/grid/login/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Document 10 | 11 | 12 | 13 | 14 |
15 |
16 |

17 |

Seja bem-vindo

18 |

ao Top Tech

19 |

20 |
21 | 22 | 37 | 38 | 44 |
45 | 46 | 47 | -------------------------------------------------------------------------------- /css-aulas/grid/basic/grid-styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-family: 'arial'; 13 | font-size: 1.8rem; 14 | } 15 | 16 | h1 { 17 | color: blueviolet; 18 | font-weight: 900; 19 | text-transform: capitalize; 20 | text-align: center; 21 | font-size: 4.6rem; 22 | } 23 | 24 | h1, h2, h3, h4, h5, h6 { 25 | font-family: 'Roboto', arial, cursive; 26 | } 27 | 28 | h2 { 29 | font-size: 2.4rem; 30 | } 31 | 32 | p { 33 | font-size: 1.8rem; 34 | text-align: justify; 35 | } 36 | 37 | .box { 38 | /* min-height: 10rem; */ 39 | /* min-width: 20rem; */ 40 | padding: 1.5rem; 41 | border: 10px solid red; 42 | border-radius: 0.4rem; 43 | background-color: blue; 44 | color: #fff; 45 | font-size: 4rem; 46 | 47 | flex: 1; 48 | 49 | display: flex; 50 | gap: 0 2rem; 51 | justify-content: center; 52 | align-content: center; 53 | } 54 | 55 | .box p, button { 56 | font-size: 4rem; 57 | } 58 | 59 | .boxes { 60 | height: calc(100vh); 61 | position: relative; 62 | 63 | display: grid; 64 | justify-content: flex-start; 65 | /* row-gap: 1rem; */ 66 | /* column-gap: 5rem; */ 67 | gap: 1rem 5rem; 68 | 69 | /* grid-template-columns: 3fr 1fr 1fr 1fr; */ 70 | grid-template-columns: 3fr repeat(2, 1fr); 71 | /* grid-template-rows: 2fr; */ 72 | } -------------------------------------------------------------------------------- /css-aulas/projeto curso css/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 23 | 24 |
25 |

Cadastre sua entidade ou acesse dados de parceiras

26 | 27 | 31 | 32 | 36 |
37 | 38 |
39 | 40 | -------------------------------------------------------------------------------- /exercicios/exercicio-09/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | h1 { 12 | font-size: 6.4rem; 13 | } 14 | 15 | body { 16 | font-size: 1.6rem; 17 | background-color: #222; 18 | background-color: #7145C1; 19 | color: #ccc; 20 | font-family: 'Poppins', sans-serif; 21 | } 22 | 23 | time { 24 | font-size: 12.2rem; 25 | } 26 | 27 | .react-card { 28 | min-height: 100vh; 29 | max-width: 1200px; 30 | margin: auto; 31 | display: grid; 32 | gap: 1.5rem 5rem; 33 | 34 | /* descomente o código abaixo e preencha os valores esperados */ 35 | /* grid-template-areas: ""; */ 36 | } 37 | 38 | .about { 39 | grid-area: about; 40 | } 41 | 42 | .image-container { 43 | grid-area: logo; 44 | padding: 3.6rem; 45 | border-radius: .8rem; 46 | background-color: #333; 47 | display: flex; 48 | justify-content: center; 49 | align-items: center; 50 | } 51 | 52 | .year { 53 | grid-area: year; 54 | color: #61dafb; 55 | } 56 | 57 | .stats { 58 | grid-area: stats; 59 | display: flex; 60 | align-items: center; 61 | gap: 0 1.2rem; 62 | } 63 | 64 | .highlight.one { 65 | grid-area: high1; 66 | } 67 | 68 | .highlight.two { 69 | grid-area: high2; 70 | } 71 | 72 | .highlight.three { 73 | grid-area: high3; 74 | } 75 | 76 | .image-container img { 77 | width: 30rem; 78 | } 79 | 80 | .company-logo { 81 | width: 9rem; 82 | height: 9rem; 83 | border-radius: 50%; 84 | } 85 | 86 | .stats strong { 87 | color: #61dafb; 88 | } 89 | 90 | .star-count { 91 | display: flex; 92 | align-items: center; 93 | } 94 | 95 | article svg { 96 | font-size: 100px; 97 | fill: yellow; 98 | } -------------------------------------------------------------------------------- /css-aulas/flexbox/flexbox-styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-family: 'arial'; 13 | font-size: 1.8rem; 14 | } 15 | 16 | main { 17 | /* padding: 7rem 0; */ 18 | } 19 | 20 | h1 { 21 | color: blueviolet; 22 | font-weight: 900; 23 | text-transform: capitalize; 24 | text-align: center; 25 | font-size: 4.6rem; 26 | } 27 | 28 | h1, h2, h3, h4, h5, h6 { 29 | font-family: 'Roboto', arial, cursive; 30 | } 31 | 32 | h2 { 33 | font-size: 2.4rem; 34 | } 35 | 36 | p { 37 | font-size: 1.8rem; 38 | text-align: justify; 39 | } 40 | 41 | .boxes { 42 | /* height: calc(100vh - (7 * 2rem)); */ 43 | height: calc(100vh); 44 | position: relative; 45 | 46 | display: flex; 47 | /* flex-direction: row; 48 | flex-wrap: wrap; */ 49 | flex-flow: row wrap; 50 | justify-content: flex-start; 51 | /* align-items: center; */ 52 | align-content: center; 53 | gap: 2rem 5rem; 54 | } 55 | 56 | .box { 57 | min-height: 10rem; 58 | min-width: 20rem; 59 | padding: 1.5rem; 60 | border: 10px solid red; 61 | border-radius: 0.4rem; 62 | background-color: blue; 63 | color: #fff; 64 | font-size: 4rem; 65 | order: 10; 66 | /* flex-basis: calc(50% - 5rem); */ 67 | flex: 1; 68 | 69 | /* text-align: center; */ 70 | display: flex; 71 | gap: 0 2rem; 72 | justify-content: center; 73 | align-content: center; 74 | } 75 | 76 | .box:nth-child(1) { 77 | order: 1; 78 | } 79 | 80 | .box:nth-child(2) { 81 | order: 2; 82 | flex: 2; 83 | } 84 | 85 | .box:nth-child(7) { 86 | order: 3; 87 | } 88 | 89 | .box p, button { 90 | font-size: 4rem; 91 | } -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-09/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | h1 { 12 | font-size: 6.4rem; 13 | } 14 | 15 | body { 16 | font-size: 1.6rem; 17 | background-color: #222; 18 | background-color: #7145C1; 19 | color: #ccc; 20 | font-family: 'Poppins', sans-serif; 21 | } 22 | 23 | time { 24 | font-size: 12.2rem; 25 | } 26 | 27 | .react-card { 28 | min-height: 100vh; 29 | max-width: 1200px; 30 | margin: auto; 31 | display: grid; 32 | gap: 1.5rem 5rem; 33 | 34 | /* resposta */ 35 | grid-template-areas: 36 | ". . . . ." 37 | ". about about about ." 38 | ". logo year high1 high1" 39 | ". logo year high2 high2" 40 | ". logo stats stats stats" 41 | ". logo high3 high3 ." 42 | ". . . . ." 43 | ; 44 | } 45 | 46 | .about { 47 | grid-area: about; 48 | } 49 | 50 | .image-container { 51 | grid-area: logo; 52 | padding: 3.6rem; 53 | border-radius: .8rem; 54 | background-color: #333; 55 | display: flex; 56 | justify-content: center; 57 | align-items: center; 58 | } 59 | 60 | .year { 61 | grid-area: year; 62 | color: #61dafb; 63 | } 64 | 65 | .stats { 66 | grid-area: stats; 67 | display: flex; 68 | align-items: center; 69 | gap: 0 1.2rem; 70 | } 71 | 72 | .highlight.one { 73 | grid-area: high1; 74 | } 75 | 76 | .highlight.two { 77 | grid-area: high2; 78 | } 79 | 80 | .highlight.three { 81 | grid-area: high3; 82 | } 83 | 84 | .image-container img { 85 | width: 30rem; 86 | } 87 | 88 | .company-logo { 89 | width: 9rem; 90 | height: 9rem; 91 | border-radius: 50%; 92 | } 93 | 94 | .stats strong { 95 | color: #61dafb; 96 | } 97 | 98 | .star-count { 99 | display: flex; 100 | align-items: center; 101 | } 102 | 103 | article svg { 104 | font-size: 100px; 105 | fill: yellow; 106 | } -------------------------------------------------------------------------------- /css-aulas/flexbox/flexbox.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Aula de CSS 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 |
19 |
20 |

1

21 | 22 |
23 |
24 |

2

25 | 26 |
27 |
28 |

3

29 | 30 |
31 |
32 |

4

33 | 34 |
35 |
36 |

5

37 | 38 |
39 |
40 |

6

41 | 42 |
43 |
44 |

7

45 | 46 |
47 |
48 |

8

49 | 50 |
51 |
52 |

9

53 | 54 |
55 |
56 |
57 | 58 | 59 | -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-06/styles.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --tag-color-1: #FE5F55; 3 | --tag-color-2: #3DD6D0; 4 | --tag-color-3: #7765E3; 5 | --tag-color-4: #BDD358; 6 | --tag-color-5: #89A6FB; 7 | --separator-color: #edf2f4; 8 | } 9 | 10 | * { 11 | padding: 0; 12 | margin: 0; 13 | box-sizing: border-box; 14 | } 15 | 16 | :root { 17 | font-size: 62.5%; 18 | } 19 | 20 | .container { 21 | max-width: 80rem; 22 | margin: auto; 23 | border-radius: 1.6rem; 24 | background-color: white; 25 | } 26 | 27 | h1, h2, h3, h4, h5, h6 { 28 | font-family: 'Montserrat', sans-serif; 29 | } 30 | 31 | body { 32 | font-family: 'Poppins', sans-serif; 33 | font-size: 1.6rem; 34 | padding: 3rem; 35 | background-color: var(--tag-color-5); 36 | } 37 | 38 | h1 { 39 | padding: 2.4rem 0; 40 | text-align: center; 41 | font-weight: 600; 42 | } 43 | 44 | h1 span { 45 | font-weight: 300; 46 | } 47 | 48 | h1 strong { 49 | color: #89A6FB; 50 | font-weight: 500; 51 | } 52 | 53 | .subjects { 54 | padding: 2rem 4.2rem; 55 | } 56 | 57 | .subjects hr { 58 | height: 1px; 59 | background-color: var(--separator-color); 60 | border: none; 61 | } 62 | 63 | .subjects h2 { 64 | color: white; 65 | display: inline-flex; 66 | border-radius: .4rem; 67 | padding: .4rem 1.2rem; 68 | margin-bottom: 2rem; 69 | 70 | font-weight: 600; 71 | 72 | position: sticky; 73 | top: .5rem; 74 | 75 | } 76 | 77 | .subjects li:nth-child(5n + 1) h2 { 78 | background-color: var(--tag-color-1); 79 | } 80 | 81 | .subjects li:nth-child(5n + 2) h2 { 82 | background-color: var(--tag-color-2); 83 | } 84 | 85 | .subjects li:nth-child(5n + 3) h2 { 86 | background-color: var(--tag-color-3); 87 | } 88 | 89 | .subjects li:nth-child(5n + 4) h2 { 90 | background-color: var(--tag-color-4); 91 | } 92 | 93 | .subjects li:nth-child(5n + 5) h2 { 94 | background-color: var(--tag-color-5); 95 | } 96 | 97 | .topics { 98 | padding: 2rem 2rem 4rem; 99 | } 100 | 101 | .topics li { 102 | padding: 1rem 2rem; 103 | border-radius: .4rem; 104 | } 105 | 106 | .topics li:nth-child(2n + 1) { 107 | background-color: var(--separator-color); 108 | } -------------------------------------------------------------------------------- /exercicios/exercicio-07/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | padding: 0; 3 | margin: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | h2, h3, h4 { 12 | font-family: 'Arvo', serif; 13 | font-weight: 400; 14 | } 15 | 16 | h1 { 17 | font-family: 'Poppins', sans-serif; 18 | font-weight: 600; 19 | font-size: 3.2rem; 20 | margin-right: 1.2rem; 21 | } 22 | 23 | body { 24 | font-size: 1.6rem; 25 | color: #444; 26 | /* font-family: 'IBM Plex Serif', serif; */ 27 | /* font-family: 'Montserrat', sans-serif; */ 28 | /* font-family: 'Roboto', sans-serif; */ 29 | } 30 | 31 | button { 32 | cursor: pointer; 33 | } 34 | 35 | main, header { 36 | padding: 1.5rem; 37 | } 38 | 39 | header { 40 | color: #444; 41 | border-bottom: 2px solid #e7e7e7; 42 | } 43 | 44 | header span { 45 | color: #52B69A; 46 | } 47 | 48 | .products-view-mode { 49 | display: flex; 50 | align-items: center; 51 | } 52 | 53 | .products-view-mode button { 54 | border: none; 55 | border-radius: .4rem; 56 | padding: .4rem 2rem; 57 | background-color: #EFEFEF; 58 | } 59 | 60 | .view-mode-buttons { 61 | display: flex; 62 | gap: 0.6rem; 63 | } 64 | 65 | [data-button-view-mode] { 66 | transition: all 200ms ease-in-out; 67 | } 68 | 69 | [data-button-view-mode].active { 70 | background-color: #52B69A; 71 | color: white; 72 | } 73 | 74 | [data-products-container] { 75 | margin-top: 1.5rem; 76 | } 77 | 78 | .product { 79 | border: 2px solid #e7e7e7; 80 | border-radius: .4rem; 81 | flex-grow: 1; 82 | flex-shrink: 1; 83 | min-width: 30rem; 84 | min-height: 20rem; 85 | } 86 | 87 | /* preencha a partir daqui */ 88 | [data-products-container="list"] { 89 | 90 | } 91 | 92 | [data-products-container="cards"] { 93 | 94 | } 95 | 96 | [data-products-container="highlights"] { 97 | 98 | } 99 | 100 | [data-products-container="list"] .product { 101 | min-height: 10rem; 102 | } 103 | 104 | [data-products-container="cards"] .product { 105 | min-width: 30rem; 106 | min-height: 20rem; 107 | } 108 | 109 | [data-products-container="highlights"] .product:nth-child(1), 110 | [data-products-container="highlights"] .product:nth-child(6) { 111 | 112 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Links para os exercicios 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 |

Índice dos exercicios

20 | 21 |
22 |

Exercícios

23 | 30 |
31 | 32 |
33 |

Exercícios Resolvidos

34 | 61 |
62 | 63 | 64 | -------------------------------------------------------------------------------- /css-aulas/projeto curso css/cadastro-entidade.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 23 | 24 |
25 |
26 | 27 | 28 | 29 | 30 |

Nova entidade

31 |
32 | 33 |
34 | 35 | 36 | 37 | 38 |
39 | 43 |
44 | 45 |
46 | 47 | 48 | 51 |
52 |
53 | 54 |
55 | Cadastrar 56 |
57 |
58 | 59 |
60 | 61 | -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-07/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | padding: 0; 3 | margin: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | h2, h3, h4 { 12 | font-family: 'Arvo', serif; 13 | font-weight: 400; 14 | } 15 | 16 | h1 { 17 | font-family: 'Poppins', sans-serif; 18 | font-weight: 600; 19 | font-size: 3.2rem; 20 | margin-right: 1.2rem; 21 | } 22 | 23 | body { 24 | font-size: 1.6rem; 25 | color: #444; 26 | /* font-family: 'IBM Plex Serif', serif; */ 27 | /* font-family: 'Montserrat', sans-serif; */ 28 | /* font-family: 'Roboto', sans-serif; */ 29 | } 30 | 31 | button { 32 | cursor: pointer; 33 | } 34 | 35 | main, header { 36 | padding: 1.5rem; 37 | } 38 | 39 | header { 40 | color: #444; 41 | border-bottom: 2px solid #e7e7e7; 42 | } 43 | 44 | header span { 45 | color: #52B69A; 46 | } 47 | 48 | .products-view-mode { 49 | display: flex; 50 | align-items: center; 51 | } 52 | 53 | .products-view-mode button { 54 | border: none; 55 | border-radius: .4rem; 56 | padding: .4rem 2rem; 57 | background-color: #EFEFEF; 58 | } 59 | 60 | .view-mode-buttons { 61 | display: flex; 62 | gap: 0.6rem; 63 | } 64 | 65 | [data-button-view-mode] { 66 | transition: all 200ms ease-in-out; 67 | } 68 | 69 | [data-button-view-mode].active { 70 | background-color: #52B69A; 71 | color: white; 72 | } 73 | 74 | [data-products-container] { 75 | margin-top: 1.5rem; 76 | } 77 | 78 | .product { 79 | border: 2px solid #e7e7e7; 80 | border-radius: .4rem; 81 | flex-grow: 1; 82 | flex-shrink: 1; 83 | min-width: 30rem; 84 | min-height: 20rem; 85 | } 86 | 87 | /* resposta começa abaixo */ 88 | [data-products-container="list"] { 89 | display: flex; 90 | flex-flow: column wrap; 91 | gap: 2rem; 92 | } 93 | 94 | [data-products-container="cards"] { 95 | display: flex; 96 | flex-flow: row wrap; 97 | gap: 5rem; 98 | } 99 | 100 | [data-products-container="highlights"] { 101 | display: flex; 102 | flex-flow: row wrap; 103 | gap: 5rem; 104 | } 105 | 106 | [data-products-container="list"] .product { 107 | min-height: 10rem; 108 | } 109 | 110 | [data-products-container="cards"] .product { 111 | min-width: 30rem; 112 | min-height: 20rem; 113 | flex-basis: 30%; 114 | } 115 | 116 | [data-products-container="highlights"] .product:nth-child(1), 117 | [data-products-container="highlights"] .product:nth-child(6) { 118 | flex-grow: 4; 119 | flex-basis: 30%; 120 | } -------------------------------------------------------------------------------- /css-aulas/grid/login/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | body, input, button, a { 8 | font-family: 'Roboto', sans-serif; 9 | } 10 | 11 | button { 12 | cursor: pointer; 13 | } 14 | 15 | :root { 16 | font-size: 62.5%; 17 | } 18 | 19 | body { 20 | font-size: 1.8rem; 21 | } 22 | 23 | .input-group { 24 | display: flex; 25 | gap: 0 1rem; 26 | } 27 | 28 | input { 29 | padding: 0.6rem 0.6rem; 30 | border: 1px solid #333; 31 | border-radius: 0.4rem; 32 | flex: 1; 33 | } 34 | 35 | label { 36 | font-size: 1.4rem; 37 | min-width: 10rem; 38 | } 39 | 40 | aside { 41 | padding: 3rem 1.5rem; 42 | border: 1px solid #AAA; 43 | border-radius: 0.4rem; 44 | /* max-width: 480px; */ 45 | /* min-height: 400px; */ 46 | 47 | display: flex; 48 | gap: 1.5rem 0; 49 | flex-direction: column; 50 | text-align: center; 51 | /* align-items: center; */ 52 | /* justify-content: center; */ 53 | } 54 | 55 | .fa-solid { 56 | color:#52b69a; 57 | font-size: 10rem; 58 | } 59 | 60 | button { 61 | background-color:#52b69a; 62 | border: none; 63 | color: #fff; 64 | padding: 0.6rem 0; 65 | border-radius: 0.4rem; 66 | font-size: 1.8rem; 67 | } 68 | 69 | footer { 70 | background-color: #52b69a; 71 | padding: 1.5rem; 72 | } 73 | 74 | footer a { 75 | color: #fff; 76 | } 77 | 78 | footer ul { 79 | list-style: none; 80 | color: #fff; 81 | max-height: 1rem; 82 | 83 | display: flex; 84 | gap: 1.4rem; 85 | } 86 | 87 | .page-content h1 { 88 | font-size: 5.6rem; 89 | } 90 | 91 | .page-content h1 p + p { 92 | color: #52b69a; 93 | } 94 | 95 | .page-content { 96 | height: 100vh; 97 | display: grid; 98 | } 99 | 100 | main { 101 | grid-area: title; 102 | } 103 | 104 | aside { 105 | grid-area: login; 106 | } 107 | 108 | footer { 109 | grid-area: footer 110 | } 111 | 112 | @media screen and (min-width: 1024px) { 113 | .page-content { 114 | display: grid; 115 | gap: 10rem 0; 116 | 117 | grid-template-areas: 118 | ". . . . ." 119 | ". title login login ." 120 | ". title login login ." 121 | ". title login login ." 122 | ". . . . ." 123 | "footer footer footer footer footer" 124 | ; 125 | } 126 | } -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-10/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-size: 1.6rem; 13 | color: #555; 14 | } 15 | 16 | body, button, input { 17 | font-family: 'Roboto', sans-serif; 18 | } 19 | 20 | button { 21 | cursor: pointer; 22 | } 23 | 24 | header img { 25 | max-height: 75vh; 26 | width: 100%; 27 | object-fit: cover; 28 | } 29 | 30 | main { 31 | padding: 0 3rem; 32 | } 33 | 34 | .find-out { 35 | min-height: 25vh; 36 | display: flex; 37 | flex-flow: column wrap; 38 | justify-content: center; 39 | align-items: center; 40 | } 41 | 42 | .find-out h2 { 43 | margin: 2.4rem 0; 44 | font-size: 3.6rem; 45 | color: #333; 46 | text-align: center; 47 | } 48 | 49 | .find-out > i { 50 | font-size: 5rem; 51 | } 52 | 53 | .description { 54 | font-size: 3.2rem; 55 | margin: 5rem 0 12rem; 56 | 57 | display: flex; 58 | gap: 0 1.5rem; 59 | } 60 | 61 | .action-button-div { 62 | text-align: center; 63 | margin: 0rem 0 4.5rem; 64 | } 65 | 66 | .action-button-div button { 67 | border-radius: .4rem; 68 | padding: 1rem 8rem; 69 | font-size: 3.6rem; 70 | color: #fff; 71 | border: none; 72 | background-color: #00bbf9; 73 | } 74 | 75 | /* resposta */ 76 | header { 77 | position: relative; 78 | } 79 | 80 | header::before { 81 | content: ''; 82 | height: 100%; 83 | width: 100%; 84 | 85 | background-color: #000; 86 | opacity: .6; 87 | z-index: 1; 88 | 89 | position: absolute; 90 | } 91 | 92 | header::after { 93 | content: 'O mundo como você nunca viu'; 94 | color: #fff; 95 | width: 100%; 96 | text-align: left; 97 | max-width: 30rem; 98 | 99 | font-size: 8rem; 100 | font-weight: 700; 101 | line-height: 7rem; 102 | 103 | z-index: 2; 104 | position: absolute; 105 | top: 50%; 106 | left: 3rem; 107 | 108 | transform: translate(0, -50%); 109 | } 110 | 111 | /* opção 1 */ 112 | .find-out > i { 113 | animation: slide 1s ease-in-out infinite alternate; 114 | transform: translateY(0); 115 | } 116 | 117 | @keyframes slide { 118 | 0% { 119 | transform: translateY(0); 120 | } 121 | 122 | 50% { 123 | transform: translateY(.5rem); 124 | } 125 | } 126 | 127 | /* opção 2 */ 128 | .find-out > i { 129 | animation: slide 2s ease-in-out infinite; 130 | transform: translateY(0); 131 | } 132 | 133 | @keyframes slide { 134 | 0% { 135 | transform: translateY(0); 136 | } 137 | 138 | 50% { 139 | transform: translateY(.5rem); 140 | } 141 | 142 | 100% { 143 | transform: translateY(0rem); 144 | } 145 | } -------------------------------------------------------------------------------- /exercicio-10/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 |
20 | Beach 24 |
25 | 26 |
27 |

Por que viajar conosco?

28 |
29 | 30 |
31 | 32 |
33 | 34 |
35 |

36 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Rem, iure 37 | nisi. Cum in blanditiis, eius tempora temporibus totam voluptate impedit 38 | porro, recusandae magni, commodi autem laboriosam iure fuga suscipit 39 | officia. 40 |

41 | 42 |
43 | 44 |

45 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi, itaque! 46 | Voluptate sapiente voluptates quasi enim dolore, hic quo sequi esse 47 | totam, autem perferendis temporibus libero sint repellat placeat! Magnam 48 | repellat architecto et unde illum placeat expedita provident aperiam 49 | autem at? 50 |

51 | 52 |
53 | 54 |

55 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Deleniti magnam 56 | voluptatum fugit neque fuga quas, nisi, velit id dignissimos repellat 57 | placeat incidunt sequi temporibus illo eum non totam laudantium corporis 58 | eaque optio mollitia nemo molestias doloribus nam. Eligendi velit, vitae 59 | dicta et amet quibusdam ut nihil sed harum tempora illum rem atque fuga 60 | officiis voluptates cum laudantium, facere itaque ipsam sunt recusandae? 61 | Accusamus vel repudiandae eveniet! Ea quaerat aut nobis. 62 |

63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /exercicios/exercicio-10/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Experiências únicas 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | Beach 25 |
26 | 27 |
28 |
29 |

Descubra

30 | 31 |
32 | 33 |
34 |

35 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Rem, iure 36 | nisi. Cum in blanditiis, eius tempora temporibus totam voluptate 37 | impedit porro, recusandae magni, commodi autem laboriosam iure fuga 38 | suscipit officia. 39 |

40 | 41 |
42 | 43 |

44 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi, 45 | itaque! Voluptate sapiente voluptates quasi enim dolore, hic quo sequi 46 | esse totam, autem perferendis temporibus libero sint repellat placeat! 47 | Magnam repellat architecto et unde illum placeat expedita provident 48 | aperiam autem at? 49 |

50 | 51 |
52 | 53 |

54 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Deleniti 55 | magnam voluptatum fugit neque fuga quas, nisi, velit id dignissimos 56 | repellat placeat incidunt sequi temporibus illo eum non totam 57 | laudantium corporis eaque optio mollitia nemo molestias doloribus nam. 58 | Eligendi velit, vitae dicta et amet quibusdam ut nihil sed harum 59 | tempora illum rem atque fuga officiis voluptates cum laudantium, 60 | facere itaque ipsam sunt recusandae? Accusamus vel repudiandae 61 | eveniet! Ea quaerat aut nobis. 62 |

63 |
64 | 65 |
66 | 67 |
68 |
69 | 70 | 71 | -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-10/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Experiências únicas 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | Beach 25 |
26 | 27 |
28 |
29 |

Descubra

30 | 31 |
32 | 33 |
34 |

35 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Rem, iure 36 | nisi. Cum in blanditiis, eius tempora temporibus totam voluptate 37 | impedit porro, recusandae magni, commodi autem laboriosam iure fuga 38 | suscipit officia. 39 |

40 | 41 |
42 | 43 |

44 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Animi, 45 | itaque! Voluptate sapiente voluptates quasi enim dolore, hic quo sequi 46 | esse totam, autem perferendis temporibus libero sint repellat placeat! 47 | Magnam repellat architecto et unde illum placeat expedita provident 48 | aperiam autem at? 49 |

50 | 51 |
52 | 53 |

54 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Deleniti 55 | magnam voluptatum fugit neque fuga quas, nisi, velit id dignissimos 56 | repellat placeat incidunt sequi temporibus illo eum non totam 57 | laudantium corporis eaque optio mollitia nemo molestias doloribus nam. 58 | Eligendi velit, vitae dicta et amet quibusdam ut nihil sed harum 59 | tempora illum rem atque fuga officiis voluptates cum laudantium, 60 | facere itaque ipsam sunt recusandae? Accusamus vel repudiandae 61 | eveniet! Ea quaerat aut nobis. 62 |

63 |
64 | 65 |
66 | 67 |
68 |
69 | 70 | 71 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Repositório do curso digital de CSS 2 | 3 | ## Código de Aula 4 | Neste repositório encontra-se o código apresentado durante as aulas do curso digital, incluindo o início do projeto desenvolvido em aula, além de exercícios para fixação. 5 | ## Exercícios de Fixação do Curso Digital de CSS 6 | 7 | ### Exercício 6 8 | Estilize a página de um sumário para se assemelhar ao modelo abaixo. Atente para os requistos principais: 9 | - As cores de fundo dos tópicos devem se alternar entre a cor definida por --separator-color e #fff 10 | - Utilize variáveis do CSS para colorir as tags de tecnologias e garanta que o 1º e 6º elementos tenham a cor definida na --tag-color-1, 2º e 7º com a --tag-color-2, 3º e 8º com a --tag-color-3 e assim por diante 11 | - Garanta que a tag de tecnologia numerada fique fixa ao fazer scroll até encontrar a próxima (dica: use display sticky) 12 | 13 | ![ex6 p1](./.github/assets/ex-06-p1.png) 14 | ![ex6 p2](./.github/assets/ex-06-p2.png) 15 | ![ex6 p3](./.github/assets/ex-06-p3.png) 16 | 17 | ## Exercício 7 18 | Adicione regras nos locais indicados do arquivo styles.css para fazer uma visualização em lista, cards ou destaques segundo as imagens abaixo: 19 | 20 | ![ex7 p2](./.github/assets/ex-07-p1.png) 21 | ![ex7 p2](./.github/assets/ex-07-p2.png) 22 | ![ex7 p2](./.github/assets/ex-07-p3.png) 23 | 24 | - A visualização de lista deve ter apenas um item por linha e os itens devem ter espaçamento vertical de 2rem 25 | - A visualização de cards deve ter 3 cards por linha de mesmo tamanho e os itens devem ter espaçamento horizontal e vertical de 5rem 26 | - A visualização de destaques deve ter o primeiro e sexto elementos com tamanho maior até 4 vezes maior em relação a cards da mesma linha e os itens devem ter espaçamento horizontal e vertical de 5rem 27 | 28 | ### Exercício 8 29 | Faça o layout mobile para a página da loja do exercício 7 da seguinte forma: 30 | - Permita que apenas sejam selecionados os modos de visualização de cards e lista 31 | - Na visão de cards devem ter 2 cards por linha 32 | - Garanta que os botões para troca de visualização apareçam fixos no topo da tela com position fixed ou sticky 33 | 34 | ### Exercício 9 35 | Adicione apenas uma propriedade grid-template-areas na classe react-card sem fazer mais nenhuma modificação para deixar o layout similar à imagem abaixo: 36 | 37 | ![ex9](./.github/assets/ex-09.png) 38 | 39 | ### Exercício 10 40 | Faça um *overlay* para esmaecer a imagem de capa abaixo, utilizando apenas 2 pseudoelementos para isso (::after e ::before), da seguinte forma: 41 | - Overlay no ::before com fundo #000, opacidade 0.6 e cobrindo toda a imagem de capa 42 | - Texto no ::after de cor #fff sem ser afetado pelo overlay, com conteúdo "O mundo como você nunca viu", largura máxima de 30rem, tamanho de 8rem, altura de linha 7rem e posicionado à 3rem da borda esquerda sobre o overlay e imagem. 43 | - Faça uma animação para que o ícone da seta se desloque para baixo em 0.5rem e retorne para a posição inicial após 2 segundos 44 | 45 | ![ex10](./.github/assets/ex-10.png) -------------------------------------------------------------------------------- /exercicios/exercicio-07/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Style Wear 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 39 | 40 | 41 |
42 |

Style Wear

43 |
44 | 45 |
46 |
47 |

Produtos

48 | 49 |
50 | 57 | 63 | 69 |
70 |
71 | 72 |
73 | 74 | 75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 | 87 | 88 | -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-07/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Style Wear 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 39 | 40 | 41 |
42 |

Style Wear

43 |
44 | 45 |
46 |
47 |

Produtos

48 | 49 |
50 | 57 | 63 | 69 |
70 |
71 | 72 |
73 | 74 | 75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 | 87 | 88 | -------------------------------------------------------------------------------- /exercicios/exercicio-09/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 |
20 |
21 |
22 |

React

23 |

Uma biblioteca JavaScript para criar interfaces de usuário

24 |
25 | 26 |
27 | React.js 31 |
32 | 33 | 34 | 35 |
36 | 41 | 42 | 58 |
59 | 60 |
61 |

Declarativo

62 |

63 | React faz com que a criação de UIs interativas seja uma tarefa 64 | fácil. 65 |

66 |
67 | 68 |
69 |

Baseado em componentes

70 |

71 | Crie componentes encapsulados que gerenciam seu próprio estado e 72 | então, combine-os para criar UIs complexas. 73 |

74 |
75 | 76 |
77 |

Aprenda uma vez, use em qualquer lugar

78 |

79 | O React também pode ser renderizado no servidor, usando Node, e para 80 | criar aplicações mobile (React Native). 81 |

82 |
83 |
84 |
85 | 86 | 87 | -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-09/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 |
20 |
21 |
22 |

React

23 |

Uma biblioteca JavaScript para criar interfaces de usuário

24 |
25 | 26 |
27 | React.js 31 |
32 | 33 | 34 | 35 |
36 | 41 | 42 | 58 |
59 | 60 |
61 |

Declarativo

62 |

63 | React faz com que a criação de UIs interativas seja uma tarefa 64 | fácil. 65 |

66 |
67 | 68 |
69 |

Baseado em componentes

70 |

71 | Crie componentes encapsulados que gerenciam seu próprio estado e 72 | então, combine-os para criar UIs complexas. 73 |

74 |
75 | 76 |
77 |

Aprenda uma vez, use em qualquer lugar

78 |

79 | O React também pode ser renderizado no servidor, usando Node, e para 80 | criar aplicações mobile (React Native). 81 |

82 |
83 |
84 |
85 | 86 | 87 | -------------------------------------------------------------------------------- /css-aulas/geral/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-family: 'times new roman'; 13 | font-size: 1.8rem; 14 | } 15 | 16 | main { 17 | padding-top: 7rem; 18 | } 19 | 20 | table, td, th { 21 | border: 1px solid black; 22 | } 23 | 24 | table tr:first-child { 25 | background-color: steelblue; 26 | color: #fff; 27 | } 28 | 29 | table tr:nth-child(2n + 3) { 30 | background-color: #AAA; 31 | } 32 | 33 | table { 34 | font-size: 2.4rem; 35 | border-collapse: separate; 36 | } 37 | 38 | h1 { 39 | color: blueviolet; 40 | font-weight: 900; 41 | text-transform: capitalize; 42 | text-align: center; 43 | font-size: 4.6rem; 44 | } 45 | 46 | h1, h2, h3, h4, h5, h6 { 47 | font-family: 'Roboto', arial, cursive; 48 | } 49 | 50 | h2 { 51 | font-size: 2.4rem; 52 | } 53 | 54 | .novo-em { 55 | font-size: 300%; 56 | } 57 | 58 | p { 59 | font-size: 1.8rem; 60 | text-align: justify; 61 | text-indent: 90px; 62 | } 63 | 64 | a { 65 | font-size: 2.4rem; 66 | color: red; 67 | } 68 | 69 | a:visited { 70 | color: darkgreen; 71 | } 72 | 73 | a:hover { 74 | color: coral; 75 | } 76 | 77 | .bg { 78 | height: 20vh; 79 | width: 100%; 80 | background-color: #555; 81 | background-image: url('https://images.unsplash.com/photo-1492138786289-d35ea832da43?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=870&q=80'); 82 | background-size: cover; 83 | background-repeat: no-repeat; 84 | background-position: center; 85 | /* background-attachment: fixed; */ 86 | } 87 | 88 | ul, ol { 89 | padding-left: 3.2rem; 90 | } 91 | 92 | ul { 93 | list-style: square; 94 | } 95 | 96 | ol { 97 | list-style: upper-roman; 98 | } 99 | 100 | nav.menu { 101 | position: fixed; 102 | background-color: steelblue; 103 | width: 100%; 104 | height: 7rem; 105 | z-index: 1; 106 | } 107 | 108 | .contact-list { 109 | position: relative; 110 | } 111 | 112 | .contact-list h2 { 113 | top: 7rem; 114 | position: sticky; 115 | background-color: limegreen; 116 | } 117 | 118 | .boxes { 119 | position: relative; 120 | display: flex; 121 | flex-wrap: wrap; 122 | } 123 | 124 | .box + span { 125 | display: none; 126 | } 127 | 128 | .box { 129 | flex: 30%; 130 | height: 10rem; 131 | width: 20rem; 132 | margin: 1.5rem; 133 | padding: 1.5rem; 134 | background-color: blue; 135 | color: #fff; 136 | border: 10px solid red; 137 | display: inline-block; 138 | border-radius: 0.4rem; 139 | position: static; 140 | } 141 | 142 | .box p { 143 | font-size: 5rem; 144 | } 145 | 146 | .box:nth-child(1) { 147 | float: none; 148 | } 149 | 150 | .box + span { 151 | clear: both; 152 | } 153 | 154 | /* .box:nth-child(1) { 155 | position: absolute; 156 | top: 30px; 157 | left: 100px; 158 | } */ 159 | 160 | /* .box:nth-child(2) { 161 | position: fixed; 162 | top: 15px; 163 | left: 30px; 164 | } */ 165 | 166 | .box:nth-child(n + 2) { 167 | /* display: none; */ 168 | } 169 | 170 | .box:nth-child(1), .box:nth-child(2) { 171 | } 172 | 173 | .box:nth-child(3) { 174 | } 175 | 176 | .boxes p { 177 | display: inline; 178 | } 179 | 180 | img { 181 | clear: both; 182 | height: 10rem; 183 | width: 14rem; 184 | object-fit: cover; 185 | } -------------------------------------------------------------------------------- /css-aulas/projeto curso css/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | --default-border: 0.1rem solid rgba(0, 0, 0, 0.15); 10 | --default-border-radius: 1.2rem; 11 | } 12 | 13 | body { 14 | font-family: 'Roboto', sans-serif; 15 | font-size: 1.4rem; 16 | } 17 | 18 | .content { 19 | display: grid; 20 | grid-template-areas: 21 | ". . . . ." 22 | ". hero . form ." 23 | ". hero . form ." 24 | ". . . . ." 25 | ; 26 | gap: 8.5rem; 27 | } 28 | 29 | main { 30 | grid-area: form; 31 | } 32 | 33 | aside { 34 | grid-area: hero; 35 | } 36 | 37 | aside h1 { 38 | font-size: 6.4rem; 39 | font-weight: 500; 40 | line-height: 7.5rem; 41 | } 42 | 43 | aside h1 span, main h2 span { 44 | color: #FF5678; 45 | } 46 | 47 | main { 48 | width: 60rem; 49 | height: 52rem; 50 | border: var(--default-border); 51 | padding: 4.4rem 5.7rem; 52 | border-radius: var(--default-border-radius); 53 | position: relative; 54 | } 55 | 56 | main h2 { 57 | max-width: 43rem; 58 | font-size: 3.6rem; 59 | font-weight: 500; 60 | } 61 | 62 | main .actions { 63 | display: flex; 64 | flex-flow: column wrap; 65 | } 66 | 67 | main .actions a { 68 | border-radius: var(--default-border-radius); 69 | text-decoration: none; 70 | font-size: 2.4rem; 71 | height: 5.5rem; 72 | background-color: #35E6E9; 73 | color: #fff; 74 | 75 | display: flex; 76 | justify-content: center; 77 | align-items: center; 78 | margin-top: 5.4rem; 79 | } 80 | 81 | main .actions a + a { 82 | background-color: #FF5678; 83 | margin-top: 4.8rem; 84 | } 85 | 86 | main header { 87 | display: flex; 88 | gap: 0 1.8rem; 89 | align-items: center; 90 | } 91 | 92 | main header i { 93 | font-size: 2.4rem; 94 | color: #FF5678; 95 | } 96 | 97 | main footer p { 98 | font-size: 1.6rem; 99 | margin-top: 8rem; 100 | } 101 | 102 | main footer a { 103 | margin-top: 1rem; 104 | font-size: 1.8rem; 105 | display: block; 106 | text-align: center; 107 | color: #000; 108 | } 109 | 110 | main form { 111 | margin-top: 1.6rem; 112 | } 113 | 114 | main form label { 115 | font-size: 1.8rem; 116 | font-weight: 400; 117 | text-transform: lowercase; 118 | margin-bottom: 1rem; 119 | display: block; 120 | } 121 | 122 | main form :is(input, select) { 123 | width: 489px; 124 | height: 5.5rem; 125 | display: block; 126 | 127 | background: #FFFFFF; 128 | border: var(--default-border); 129 | border-radius: var(--default-border-radius); 130 | } 131 | 132 | main form select { 133 | appearance: none; 134 | } 135 | 136 | main form .select-div { 137 | position: relative; 138 | } 139 | 140 | main form .select-div::after { 141 | top: 1.6rem; 142 | right: 1.6rem; 143 | font-size: 2.2rem; 144 | content: '\f107'; 145 | font-family: 'Font Awesome 6 Free'; 146 | font-weight: 600; 147 | position: absolute; 148 | z-index: 1; 149 | color: #35E6E9; 150 | } 151 | 152 | main form .points { 153 | /* margin-top: 16rem; */ 154 | 155 | position: relative; 156 | } 157 | 158 | main form input + button { 159 | position: absolute; 160 | right: -3.8rem; 161 | top: calc(2.7rem + 2.3rem); 162 | background-color: transparent; 163 | border: none; 164 | color: #35E6E9; 165 | font-size: 2.4rem; 166 | cursor: pointer; 167 | } 168 | 169 | -------------------------------------------------------------------------------- /css-aulas/extras/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Aula de CSS 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 |

Welcome to the net foundation

21 | 22 |
23 | 24 |
25 | 26 | Conheça nossos produtos 27 |

Tabela

28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
EmpresaContatoPaís
Global COJulia LagosChile
Centro comercial LagunaJennifer RiosBrasil
CE & CRoberto CarlosBrasil
Top TechJoão CardosoPortugal
56 | 57 | Conheça nosso time 58 | 59 |
60 |
61 | Texto interior 1 62 |
63 | 64 |
65 | Texto interior 2 66 |
67 | 68 |
69 | Texto interior 3 70 |
71 | 72 |
73 | Texto interior 4 74 |
75 | 76 |
77 | Texto interior 5 78 |
79 | 80 |
81 | Texto interior 6 82 |
83 | 84 |
85 | Texto interior 7 86 |
87 | 88 |
89 | Texto interior 8 90 |
91 | 92 |
93 | Texto interior 9 94 |
95 | 96 | 97 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maxime qui tempora consectetur 98 | reprehenderit, aliquid officia voluptatem omnis, quis architecto nulla quaerat soluta illum, libero at 99 | quos! Facilis, neque necessitatibus. Ex accusantium deserunt sunt architecto laboriosam. Dolores 100 | suscipit fugiat quis repellendus quidem illo neque excepturi eum, libero doloremque aspernatur placeat 101 | pariatur totam cupiditate perferendis impedit? Distinctio odio laborum aliquam harum quaerat 102 | voluptatibus molestias est sequi assumenda reiciendis quae nostrum eum aut atque sint porro repellendus 103 | debitis nihil vero, neque quisquam magnam nemo consectetur. Aliquid debitis ex dolorem hic nulla vel 104 | laboriosam accusantium veritatis nobis, optio delectus temporibus? Aliquid nobis dolorum 105 | laboriosam! 106 |
107 |
108 | 109 | 110 | -------------------------------------------------------------------------------- /exercicios/exercicio-06/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jornada JavaScript 8 | 9 | 10 | 11 | 12 | 16 | 17 | 18 | 19 |
20 |

Jornada JavaScript

21 | 22 |
    23 |
  1. 24 |

    HTML

    25 |
    26 | 27 |
      28 |
    • Tópico 1
    • 29 |
    • Tópico 2
    • 30 |
    • Tópico 3
    • 31 |
    • Tópico 4
    • 32 |
    • Tópico 5
    • 33 |
    • Tópico 6
    • 34 |
    • Tópico 7
    • 35 |
    • Tópico 8
    • 36 |
    • Tópico 9
    • 37 |
    38 |
  2. 39 | 40 |
  3. 41 |

    CSS

    42 |
    43 | 44 |
      45 |
    • Tópico 1
    • 46 |
    • Tópico 2
    • 47 |
    • Tópico 3
    • 48 |
    • Tópico 4
    • 49 |
    • Tópico 5
    • 50 |
    • Tópico 6
    • 51 |
    • Tópico 7
    • 52 |
    • Tópico 8
    • 53 |
    • Tópico 9
    • 54 |
    55 |
  4. 56 | 57 |
  5. 58 |

    JavaScript

    59 |
    60 | 61 |
      62 |
    • Tópico 1
    • 63 |
    • Tópico 2
    • 64 |
    • Tópico 3
    • 65 |
    • Tópico 4
    • 66 |
    • Tópico 5
    • 67 |
    • Tópico 6
    • 68 |
    • Tópico 7
    • 69 |
    • Tópico 8
    • 70 |
    • Tópico 9
    • 71 |
    72 |
  6. 73 | 74 |
  7. 75 |

    React

    76 |
    77 | 78 |
      79 |
    • Tópico 1
    • 80 |
    • Tópico 2
    • 81 |
    • Tópico 3
    • 82 |
    • Tópico 4
    • 83 |
    • Tópico 5
    • 84 |
    • Tópico 6
    • 85 |
    • Tópico 7
    • 86 |
    • Tópico 8
    • 87 |
    • Tópico 9
    • 88 |
    89 |
  8. 90 | 91 |
  9. 92 |

    React Native

    93 |
    94 | 95 |
      96 |
    • Tópico 1
    • 97 |
    • Tópico 2
    • 98 |
    • Tópico 3
    • 99 |
    • Tópico 4
    • 100 |
    • Tópico 5
    • 101 |
    • Tópico 6
    • 102 |
    • Tópico 7
    • 103 |
    • Tópico 8
    • 104 |
    • Tópico 9
    • 105 |
    106 |
  10. 107 | 108 |
  11. 109 |

    Next.js

    110 |
    111 | 112 |
      113 |
    • Tópico 1
    • 114 |
    • Tópico 2
    • 115 |
    • Tópico 3
    • 116 |
    • Tópico 4
    • 117 |
    • Tópico 5
    • 118 |
    • Tópico 6
    • 119 |
    • Tópico 7
    • 120 |
    • Tópico 8
    • 121 |
    • Tópico 9
    • 122 |
    123 |
  12. 124 | 125 |
  13. 126 |

    Node.js

    127 |
    128 | 129 |
      130 |
    • Tópico 1
    • 131 |
    • Tópico 2
    • 132 |
    • Tópico 3
    • 133 |
    • Tópico 4
    • 134 |
    • Tópico 5
    • 135 |
    • Tópico 6
    • 136 |
    • Tópico 7
    • 137 |
    • Tópico 8
    • 138 |
    • Tópico 9
    • 139 |
    140 |
  14. 141 | 142 |
  15. 143 |

    Express.js

    144 |
    145 | 146 |
      147 |
    • Tópico 1
    • 148 |
    • Tópico 2
    • 149 |
    • Tópico 3
    • 150 |
    • Tópico 4
    • 151 |
    • Tópico 5
    • 152 |
    • Tópico 6
    • 153 |
    • Tópico 7
    • 154 |
    • Tópico 8
    • 155 |
    • Tópico 9
    • 156 |
    157 |
  16. 158 | 159 |
  17. 160 |

    Nest.js

    161 |
    162 | 163 |
      164 |
    • Tópico 1
    • 165 |
    • Tópico 2
    • 166 |
    • Tópico 3
    • 167 |
    • Tópico 4
    • 168 |
    • Tópico 5
    • 169 |
    • Tópico 6
    • 170 |
    • Tópico 7
    • 171 |
    • Tópico 8
    • 172 |
    • Tópico 9
    • 173 |
    174 |
  18. 175 | 176 |
  19. 177 |

    Docker

    178 |
    179 | 180 |
      181 |
    • Tópico 1
    • 182 |
    • Tópico 2
    • 183 |
    • Tópico 3
    • 184 |
    • Tópico 4
    • 185 |
    • Tópico 5
    • 186 |
    • Tópico 6
    • 187 |
    • Tópico 7
    • 188 |
    • Tópico 8
    • 189 |
    • Tópico 9
    • 190 |
    191 |
  20. 192 | 193 | 202 |
203 |
204 | 205 | 206 | -------------------------------------------------------------------------------- /exercicios-resolvidos/exercicio-06/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Jornada JavaScript 8 | 9 | 10 | 11 | 12 | 16 | 17 | 18 | 19 |
20 |

Jornada JavaScript

21 | 22 |
    23 |
  1. 24 |

    HTML

    25 |
    26 | 27 |
      28 |
    • Tópico 1
    • 29 |
    • Tópico 2
    • 30 |
    • Tópico 3
    • 31 |
    • Tópico 4
    • 32 |
    • Tópico 5
    • 33 |
    • Tópico 6
    • 34 |
    • Tópico 7
    • 35 |
    • Tópico 8
    • 36 |
    • Tópico 9
    • 37 |
    38 |
  2. 39 | 40 |
  3. 41 |

    CSS

    42 |
    43 | 44 |
      45 |
    • Tópico 1
    • 46 |
    • Tópico 2
    • 47 |
    • Tópico 3
    • 48 |
    • Tópico 4
    • 49 |
    • Tópico 5
    • 50 |
    • Tópico 6
    • 51 |
    • Tópico 7
    • 52 |
    • Tópico 8
    • 53 |
    • Tópico 9
    • 54 |
    55 |
  4. 56 | 57 |
  5. 58 |

    JavaScript

    59 |
    60 | 61 |
      62 |
    • Tópico 1
    • 63 |
    • Tópico 2
    • 64 |
    • Tópico 3
    • 65 |
    • Tópico 4
    • 66 |
    • Tópico 5
    • 67 |
    • Tópico 6
    • 68 |
    • Tópico 7
    • 69 |
    • Tópico 8
    • 70 |
    • Tópico 9
    • 71 |
    72 |
  6. 73 | 74 |
  7. 75 |

    React

    76 |
    77 | 78 |
      79 |
    • Tópico 1
    • 80 |
    • Tópico 2
    • 81 |
    • Tópico 3
    • 82 |
    • Tópico 4
    • 83 |
    • Tópico 5
    • 84 |
    • Tópico 6
    • 85 |
    • Tópico 7
    • 86 |
    • Tópico 8
    • 87 |
    • Tópico 9
    • 88 |
    89 |
  8. 90 | 91 |
  9. 92 |

    React Native

    93 |
    94 | 95 |
      96 |
    • Tópico 1
    • 97 |
    • Tópico 2
    • 98 |
    • Tópico 3
    • 99 |
    • Tópico 4
    • 100 |
    • Tópico 5
    • 101 |
    • Tópico 6
    • 102 |
    • Tópico 7
    • 103 |
    • Tópico 8
    • 104 |
    • Tópico 9
    • 105 |
    106 |
  10. 107 | 108 |
  11. 109 |

    Next.js

    110 |
    111 | 112 |
      113 |
    • Tópico 1
    • 114 |
    • Tópico 2
    • 115 |
    • Tópico 3
    • 116 |
    • Tópico 4
    • 117 |
    • Tópico 5
    • 118 |
    • Tópico 6
    • 119 |
    • Tópico 7
    • 120 |
    • Tópico 8
    • 121 |
    • Tópico 9
    • 122 |
    123 |
  12. 124 | 125 |
  13. 126 |

    Node.js

    127 |
    128 | 129 |
      130 |
    • Tópico 1
    • 131 |
    • Tópico 2
    • 132 |
    • Tópico 3
    • 133 |
    • Tópico 4
    • 134 |
    • Tópico 5
    • 135 |
    • Tópico 6
    • 136 |
    • Tópico 7
    • 137 |
    • Tópico 8
    • 138 |
    • Tópico 9
    • 139 |
    140 |
  14. 141 | 142 |
  15. 143 |

    Express.js

    144 |
    145 | 146 |
      147 |
    • Tópico 1
    • 148 |
    • Tópico 2
    • 149 |
    • Tópico 3
    • 150 |
    • Tópico 4
    • 151 |
    • Tópico 5
    • 152 |
    • Tópico 6
    • 153 |
    • Tópico 7
    • 154 |
    • Tópico 8
    • 155 |
    • Tópico 9
    • 156 |
    157 |
  16. 158 | 159 |
  17. 160 |

    Nest.js

    161 |
    162 | 163 |
      164 |
    • Tópico 1
    • 165 |
    • Tópico 2
    • 166 |
    • Tópico 3
    • 167 |
    • Tópico 4
    • 168 |
    • Tópico 5
    • 169 |
    • Tópico 6
    • 170 |
    • Tópico 7
    • 171 |
    • Tópico 8
    • 172 |
    • Tópico 9
    • 173 |
    174 |
  18. 175 | 176 |
  19. 177 |

    Docker

    178 |
    179 | 180 |
      181 |
    • Tópico 1
    • 182 |
    • Tópico 2
    • 183 |
    • Tópico 3
    • 184 |
    • Tópico 4
    • 185 |
    • Tópico 5
    • 186 |
    • Tópico 6
    • 187 |
    • Tópico 7
    • 188 |
    • Tópico 8
    • 189 |
    • Tópico 9
    • 190 |
    191 |
  20. 192 | 193 | 202 |
203 |
204 | 205 | 206 | -------------------------------------------------------------------------------- /css-aulas/extras/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | :root { 8 | font-size: 62.5%; 9 | } 10 | 11 | body { 12 | font-family: 'times new roman'; 13 | font-size: 1.8rem; 14 | } 15 | 16 | main { 17 | padding: 1.5rem; 18 | } 19 | 20 | table, td, th { 21 | border: 1px solid black; 22 | } 23 | 24 | table tr:first-child { 25 | background-color: steelblue; 26 | color: #fff; 27 | } 28 | 29 | table tr:nth-child(2n + 3) { 30 | background-color: #AAA; 31 | } 32 | 33 | table { 34 | font-size: 2.4rem; 35 | border-collapse: separate; 36 | } 37 | 38 | h1 { 39 | color: blueviolet; 40 | font-weight: 900; 41 | text-transform: capitalize; 42 | text-align: center; 43 | font-size: 4.6rem; 44 | } 45 | 46 | h1, h2, h3, h4, h5, h6 { 47 | font-family: 'Roboto', arial, cursive; 48 | } 49 | 50 | h2 { 51 | font-size: 2.4rem; 52 | } 53 | 54 | .novo-em { 55 | font-size: 300%; 56 | } 57 | 58 | p { 59 | font-size: 1.8rem; 60 | text-align: justify; 61 | text-indent: 90px; 62 | } 63 | 64 | a { 65 | font-size: 2.4rem; 66 | color: red; 67 | } 68 | 69 | a:visited { 70 | color: darkgreen; 71 | } 72 | 73 | a:hover { 74 | color: coral; 75 | } 76 | 77 | .bg { 78 | height: 20vh; 79 | width: 100%; 80 | background-color: #555; 81 | background-image: url('https://images.unsplash.com/photo-1492138786289-d35ea832da43?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=870&q=80'); 82 | background-size: cover; 83 | background-repeat: no-repeat; 84 | background-position: center; 85 | /* background-attachment: fixed; */ 86 | } 87 | 88 | ul, ol { 89 | padding-left: 3.2rem; 90 | } 91 | 92 | ul { 93 | list-style: square; 94 | } 95 | 96 | nav.menu { 97 | position: fixed; 98 | background-color: steelblue; 99 | width: 100%; 100 | height: 7rem; 101 | z-index: 1; 102 | } 103 | 104 | .contact-list { 105 | position: relative; 106 | } 107 | 108 | .contact-list h2 { 109 | top: 7rem; 110 | position: sticky; 111 | background-color: limegreen; 112 | } 113 | 114 | .boxes { 115 | margin: 1.5rem 0; 116 | position: relative; 117 | 118 | display: none; 119 | /* display: flex; */ 120 | flex-wrap: wrap; 121 | gap: 1.5rem; 122 | 123 | } 124 | 125 | .box + span { 126 | display: none; 127 | } 128 | 129 | .box { 130 | flex: 30%; 131 | height: 10rem; 132 | width: 20rem; 133 | padding: 1.5rem; 134 | background-color: blue; 135 | color: #fff; 136 | border: 10px solid red; 137 | border-radius: 0.4rem; 138 | } 139 | 140 | .box p { 141 | font-size: 5rem; 142 | } 143 | 144 | .box:nth-child(1) { 145 | float: none; 146 | } 147 | 148 | .box + span { 149 | clear: both; 150 | } 151 | 152 | /* .box:nth-child(1) { 153 | position: absolute; 154 | top: 30px; 155 | left: 100px; 156 | } */ 157 | 158 | /* .box:nth-child(2) { 159 | position: fixed; 160 | top: 15px; 161 | left: 30px; 162 | } */ 163 | 164 | .box:nth-child(n + 2) { 165 | /* display: none; */ 166 | } 167 | 168 | .box:nth-child(1), .box:nth-child(2) { 169 | } 170 | 171 | .box:nth-child(3) { 172 | } 173 | 174 | .boxes p { 175 | display: inline; 176 | } 177 | 178 | img { 179 | clear: both; 180 | height: 10rem; 181 | width: 14rem; 182 | object-fit: cover; 183 | } 184 | 185 | a { 186 | background: steelblue; 187 | color: #fff; 188 | border: none; 189 | font-size: 2.8rem; 190 | padding: 0.6rem 2.4rem; 191 | cursor: pointer; 192 | margin: auto; 193 | width: 80%; 194 | text-align: center; 195 | text-decoration: none; 196 | transition: all .2s ease-in-out, background-color 1s ease-in-out; 197 | 198 | display: block; 199 | } 200 | 201 | [data-anchor="products"] { 202 | /* opacity: 0; */ 203 | /* display: none; */ 204 | /* visibility: hidden; */ 205 | } 206 | 207 | [data-anchor="products"]:hover { 208 | background-color: aqua; 209 | color: #fff; 210 | transform: scale(1.2); 211 | } 212 | 213 | [data-anchor="team"] { 214 | margin-top: 2rem; 215 | animation: pulse 2s infinite; 216 | /* animation-fill-mode: forwards; */ 217 | animation-direction: alternate; 218 | transform: scale(1); 219 | } 220 | 221 | @keyframes pulse { 222 | 0% { 223 | transform: scale(1); 224 | opacity: 1; 225 | } 226 | 227 | 100% { 228 | transform: scale(1.35); 229 | opacity: .6; 230 | } 231 | 232 | /* 100% { 233 | transform: scale(1); 234 | opacity: 1; 235 | } */ 236 | } 237 | 238 | .spinner-container { 239 | width: 100%; 240 | display: flex; 241 | justify-content: center; 242 | } 243 | 244 | .fa-spinner { 245 | margin-top: 3rem; 246 | margin: 4rem; 247 | font-size: 5rem; 248 | color: blueviolet; 249 | animation: load 1s infinite; 250 | } 251 | 252 | @keyframes load { 253 | 0% { 254 | transform: rotateZ(0deg); 255 | } 256 | 257 | 100% { 258 | transform: rotateZ(360deg); 259 | } 260 | } 261 | 262 | #companies-table { 263 | /* display: none; */ 264 | } 265 | 266 | [data-company] { 267 | background-color: aqua; 268 | } 269 | 270 | @media screen and (min-width: 1000px) { 271 | .bg { 272 | height: 50vh; 273 | } 274 | } 275 | 276 | @media screen and (min-width: 768px) and (max-width: 999px) { 277 | .bg { 278 | height: 80vh; 279 | } 280 | } 281 | 282 | @media screen and (max-width: 767px) { 283 | /* table { 284 | display: none; 285 | } 286 | h1 { 287 | color: red; 288 | } */ 289 | } 290 | 291 | @media print { 292 | .bg { 293 | display: none; 294 | } 295 | } -------------------------------------------------------------------------------- /font-awesome/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Fonticons, Inc. (https://fontawesome.com) 2 | 3 | -------------------------------------------------------------------------------- 4 | 5 | Font Awesome Free License 6 | 7 | Font Awesome Free is free, open source, and GPL friendly. You can use it for 8 | commercial projects, open source projects, or really almost whatever you want. 9 | Full Font Awesome Free license: https://fontawesome.com/license/free. 10 | 11 | -------------------------------------------------------------------------------- 12 | 13 | # Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) 14 | 15 | The Font Awesome Free download is licensed under a Creative Commons 16 | Attribution 4.0 International License and applies to all icons packaged 17 | as SVG and JS file types. 18 | 19 | -------------------------------------------------------------------------------- 20 | 21 | # Fonts: SIL OFL 1.1 License 22 | 23 | In the Font Awesome Free download, the SIL OFL license applies to all icons 24 | packaged as web and desktop font files. 25 | 26 | Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com) 27 | with Reserved Font Name: "Font Awesome". 28 | 29 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 30 | This license is copied below, and is also available with a FAQ at: 31 | http://scripts.sil.org/OFL 32 | 33 | SIL OPEN FONT LICENSE 34 | Version 1.1 - 26 February 2007 35 | 36 | PREAMBLE 37 | The goals of the Open Font License (OFL) are to stimulate worldwide 38 | development of collaborative font projects, to support the font creation 39 | efforts of academic and linguistic communities, and to provide a free and 40 | open framework in which fonts may be shared and improved in partnership 41 | with others. 42 | 43 | The OFL allows the licensed fonts to be used, studied, modified and 44 | redistributed freely as long as they are not sold by themselves. The 45 | fonts, including any derivative works, can be bundled, embedded, 46 | redistributed and/or sold with any software provided that any reserved 47 | names are not used by derivative works. The fonts and derivatives, 48 | however, cannot be released under any other type of license. The 49 | requirement for fonts to remain under this license does not apply 50 | to any document created using the fonts or their derivatives. 51 | 52 | DEFINITIONS 53 | "Font Software" refers to the set of files released by the Copyright 54 | Holder(s) under this license and clearly marked as such. This may 55 | include source files, build scripts and documentation. 56 | 57 | "Reserved Font Name" refers to any names specified as such after the 58 | copyright statement(s). 59 | 60 | "Original Version" refers to the collection of Font Software components as 61 | distributed by the Copyright Holder(s). 62 | 63 | "Modified Version" refers to any derivative made by adding to, deleting, 64 | or substituting — in part or in whole — any of the components of the 65 | Original Version, by changing formats or by porting the Font Software to a 66 | new environment. 67 | 68 | "Author" refers to any designer, engineer, programmer, technical 69 | writer or other person who contributed to the Font Software. 70 | 71 | PERMISSION & CONDITIONS 72 | Permission is hereby granted, free of charge, to any person obtaining 73 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 74 | redistribute, and sell modified and unmodified copies of the Font 75 | Software, subject to the following conditions: 76 | 77 | 1) Neither the Font Software nor any of its individual components, 78 | in Original or Modified Versions, may be sold by itself. 79 | 80 | 2) Original or Modified Versions of the Font Software may be bundled, 81 | redistributed and/or sold with any software, provided that each copy 82 | contains the above copyright notice and this license. These can be 83 | included either as stand-alone text files, human-readable headers or 84 | in the appropriate machine-readable metadata fields within text or 85 | binary files as long as those fields can be easily viewed by the user. 86 | 87 | 3) No Modified Version of the Font Software may use the Reserved Font 88 | Name(s) unless explicit written permission is granted by the corresponding 89 | Copyright Holder. This restriction only applies to the primary font name as 90 | presented to the users. 91 | 92 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 93 | Software shall not be used to promote, endorse or advertise any 94 | Modified Version, except to acknowledge the contribution(s) of the 95 | Copyright Holder(s) and the Author(s) or with their explicit written 96 | permission. 97 | 98 | 5) The Font Software, modified or unmodified, in part or in whole, 99 | must be distributed entirely under this license, and must not be 100 | distributed under any other license. The requirement for fonts to 101 | remain under this license does not apply to any document created 102 | using the Font Software. 103 | 104 | TERMINATION 105 | This license becomes null and void if any of the above conditions are 106 | not met. 107 | 108 | DISCLAIMER 109 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 110 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 111 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 112 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 113 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 114 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 115 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 116 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 117 | OTHER DEALINGS IN THE FONT SOFTWARE. 118 | 119 | -------------------------------------------------------------------------------- 120 | 121 | # Code: MIT License (https://opensource.org/licenses/MIT) 122 | 123 | In the Font Awesome Free download, the MIT license applies to all non-font and 124 | non-icon files. 125 | 126 | Copyright 2022 Fonticons, Inc. 127 | 128 | Permission is hereby granted, free of charge, to any person obtaining a copy of 129 | this software and associated documentation files (the "Software"), to deal in the 130 | Software without restriction, including without limitation the rights to use, copy, 131 | modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 132 | and to permit persons to whom the Software is furnished to do so, subject to the 133 | following conditions: 134 | 135 | The above copyright notice and this permission notice shall be included in all 136 | copies or substantial portions of the Software. 137 | 138 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 139 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 140 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 141 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 142 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 143 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 144 | 145 | -------------------------------------------------------------------------------- 146 | 147 | # Attribution 148 | 149 | Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font 150 | Awesome Free files already contain embedded comments with sufficient 151 | attribution, so you shouldn't need to do anything additional when using these 152 | files normally. 153 | 154 | We've kept attribution comments terse, so we ask that you do not actively work 155 | to remove them from files, especially code. They're a great way for folks to 156 | learn about Font Awesome. 157 | 158 | -------------------------------------------------------------------------------- 159 | 160 | # Brand Icons 161 | 162 | All brand icons are trademarks of their respective owners. The use of these 163 | trademarks does not indicate endorsement of the trademark holder by Font 164 | Awesome, nor vice versa. **Please do not use brand logos for any purpose except 165 | to represent the company, product, or service to which they refer.** 166 | -------------------------------------------------------------------------------- /css-aulas/geral/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Aula de CSS 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 |
25 |
26 |

Aprendendo CSS

27 |

Tabela

28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
EmpresaContatoPaís
Global COJulia LagosChile
Centro comercial LagunaJennifer RiosBrasil
CE & CRoberto CarlosBrasil
Top TechJoão CardosoPortugal
56 | 57 |

Lista de Compras

58 | 65 | 66 |

Ranking dos times de vôlei de praia

67 |
    68 |
  1. Bonde dos Caios
  2. 69 |
  3. MM
  4. 70 |
  5. Tigres Praianos
  6. 71 |
72 | 73 |
74 |

A

75 | 87 | 88 |

B

89 | 99 | 100 |

C

101 | 113 |
114 | 115 |
116 |
117 | Texto interior 1 118 |
119 | 120 |
121 | Texto interior 2 122 |
123 | 124 |
125 | Texto interior 3 126 |
127 | 128 |
129 | Texto interior 4 130 |
131 | 132 |
133 | Texto interior 5 134 |
135 | 136 |
137 | Texto interior 6 138 |
139 | 140 |
141 | Texto interior 7 142 |
143 | 144 |
145 | Texto interior 8 146 |
147 | 148 |
149 | Texto interior 9 150 |
151 | 152 | 153 | Lorem ipsum, dolor sit amet consectetur adipisicing elit. Maxime qui tempora consectetur 154 | reprehenderit, aliquid officia voluptatem omnis, quis architecto nulla quaerat soluta illum, libero at 155 | quos! Facilis, neque necessitatibus. Ex accusantium deserunt sunt architecto laboriosam. Dolores 156 | suscipit fugiat quis repellendus quidem illo neque excepturi eum, libero doloremque aspernatur placeat 157 | pariatur totam cupiditate perferendis impedit? Distinctio odio laborum aliquam harum quaerat 158 | voluptatibus molestias est sequi assumenda reiciendis quae nostrum eum aut atque sint porro repellendus 159 | debitis nihil vero, neque quisquam magnam nemo consectetur. Aliquid debitis ex dolorem hic nulla vel 160 | laboriosam accusantium veritatis nobis, optio delectus temporibus? Aliquid nobis dolorum 161 | laboriosam! 162 |
163 | 165 | 167 | 168 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Provident, fugiat ipsam omnis possimus repellat, 169 | nobis maiores, dolore expedita quo magni quae dolorem eligendi neque harum aperiam placeat deserunt nam quos 170 | nesciunt porro recusandae. Maxime natus necessitatibus sint harum dolore doloribus adipisci mollitia numquam 171 | nostrum saepe eum dicta error ea rerum, veniam sapiente unde, illo cupiditate. Expedita beatae, temporibus 172 | veniam eius alias nam quaerat fugit id! Nam facere non soluta eum illum nihil voluptatum necessitatibus 173 | veniam laudantium vitae aperiam fugiat officia eaque minus reprehenderit eos distinctio, eius doloremque 174 | delectus impedit cupiditate natus doloribus eveniet maxime? Quidem vel, aliquam rem, voluptatum maxime ut 175 | labore cumque animi repellat accusantium exercitationem? Nesciunt nisi nulla quos omnis, debitis cupiditate 176 | harum architecto praesentium iure recusandae magni ratione explicabo voluptatum aut commodi perferendis 177 | itaque dolore fugiat porro. Ullam quidem vel, facere eius asperiores mollitia in officia maiores, molestiae 178 | exercitationem itaque enim quos accusamus, esse voluptatem ut est nobis labore laboriosam sint ab. Ex quos 179 | ipsa recusandae sequi earum perferendis ullam expedita, necessitatibus commodi omnis eligendi repellat. 180 | Totam inventore quisquam fugit voluptatibus doloribus quae repudiandae cupiditate, error eius expedita, 181 | laudantium tempora facere, amet quo iure! Neque adipisci ut incidunt cupiditate eos pariatur quaerat, ullam 182 | a est praesentium soluta nemo laborum hic error mollitia recusandae tempora! Delectus, porro unde mollitia 183 | magnam ad aspernatur nemo libero aliquam atque, sequi optio quidem facere deserunt ipsam quibusdam voluptate 184 | quo odio dolor? Error nesciunt quisquam, corrupti dolorem fuga blanditiis, placeat reprehenderit sint quam 185 | eos obcaecati voluptates. Molestiae praesentium velit sunt dignissimos architecto maxime ex consequuntur nam 186 | sequi veritatis. Illum ea quis qui vitae dicta, laboriosam inventore optio veniam dolorem ex voluptatum 187 | pariatur perferendis tenetur cupiditate odit assumenda porro! Voluptatibus placeat quaerat nam minima sed 188 | optio ipsum, blanditiis libero totam rem eos cumque quidem deserunt assumenda inventore recusandae 189 | reiciendis voluptas minus sunt mollitia commodi perferendis adipisci? Voluptatem maiores quidem minus odit 190 | sunt repellat, autem quibusdam vitae at adipisci, doloremque tempora dolorem amet exercitationem. Quasi, 191 | reiciendis. Ab veniam facere cumque enim assumenda et quis facilis, officiis corporis vero deserunt natus 192 | quam perspiciatis magni, minima alias placeat saepe. Consequatur qui quidem in eveniet. Accusamus possimus 193 | porro corrupti quis quae facere sed labore est dolorem atque necessitatibus recusandae animi, dignissimos, 194 | minus voluptatibus laboriosam, nisi quaerat mollitia consectetur quibusdam repellat neque iure pariatur 195 | similique? Reprehenderit nisi consequuntur molestias pariatur totam. Veritatis modi est quasi sequi labore 196 | velit molestiae error facilis, perferendis eaque! Assumenda, quisquam maxime. Et, commodi dolor.

197 |
198 | 199 | 200 | -------------------------------------------------------------------------------- /css-aulas/projeto curso css/assets/hero.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | --------------------------------------------------------------------------------