14 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Mollitia alias doloribus minima
15 | temporibus ipsum incidunt repudiandae ullam, perspiciatis recusandae reiciendis. Rem vero
16 | dolore quos pariatur nisi nam distinctio magni consectetur.
17 |
18 |
19 |
20 |
21 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Inventore, deleniti repellat!
22 | Modi, et neque soluta quo minima, maiores mollitia ducimus, amet possimus accusamus cumque
23 | animi earum nisi error magnam eum!
24 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/16 - Text align/assets/images/gato.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DorianDesings/Curso-css-basico-2021/0e1ba417bb508cdf4240f92a7657924b5d7590d6/16 - Text align/assets/images/gato.jpg
--------------------------------------------------------------------------------
/16 - Text align/css/styles-dist.css:
--------------------------------------------------------------------------------
1 | *{box-sizing:border-box}body{background-color:#333;color:#fff}.text{text-align:justify}.box{background-color:#666;width:100px;padding:10px 0;margin:20px 0;border:2px solid lightcoral;text-align:center;margin-left:auto;margin-right:auto}.link{color:#fff;background-color:#666;margin-left:auto;margin-right:auto;width:200px;display:block;text-align:center;margin-bottom:20px}.img-container{text-align:center}.img{text-align:center}
--------------------------------------------------------------------------------
/16 - Text align/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | Text-align es la propiedad que nos permite alinear horizontalmente el contenido de un elemento de bloque siempre que el contenido NO TENGA ANCHO DECLARADO
3 |
4 | Acepta 4 posibles valores
5 | text-align:left; -> Alinea el contenido a la izquierda
6 | text-align:right; -> Alinea el contenido a la derecha
7 | text-align:center; -> Alinea el contenido al centro
8 | text-align:justify; -> Alinea el contenido de forma justificada. No es recomendable usarlo.
9 | */
10 |
11 | * {
12 | box-sizing: border-box;
13 | }
14 |
15 | body {
16 | background-color: #333;
17 | color: #fff;
18 | }
19 |
20 | .text {
21 | text-align: justify;
22 | }
23 |
24 | .box {
25 | background-color: #666;
26 | width: 100px;
27 | padding: 10px 0;
28 | margin: 20px 0;
29 | border: 2px solid lightcoral;
30 | text-align: center;
31 | margin-left: auto;
32 | margin-right: auto;
33 | }
34 |
35 | .link {
36 | color: #fff;
37 | background-color: #666;
38 | margin-left: auto;
39 | margin-right: auto;
40 | width: 200px;
41 | display: block;
42 | text-align: center;
43 | margin-bottom: 20px;
44 | }
45 |
46 | .img-container {
47 | text-align: center;
48 | }
49 |
50 | .img {
51 | /* display: block; */
52 | /* margin-left: auto;
53 | margin-right: auto;*/
54 | text-align: center;
55 | }
56 |
--------------------------------------------------------------------------------
/16 - Text align/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Outline
8 |
9 |
10 |
11 |
12 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatem repellendus veritatis
13 | reprehenderit accusantium quia tempora aliquam eos sequi iure, aliquid quaerat, neque modi
14 | aperiam, natus ab? Autem iste quaerat officia? Eius, tempora suscipit id corporis, sunt quo
15 | nam vero, enim sit veritatis debitis assumenda incidunt ea reprehenderit. Porro, perspiciatis
16 | blanditiis totam pariatur reprehenderit similique quibusdam beatae quaerat inventore unde vel.
17 | Tempora quos error asperiores doloribus sint laboriosam hic voluptatum veniam, laborum
18 | officiis vel recusandae eaque quas nulla? Tenetur ipsam consequuntur, qui minus laboriosam hic
19 | accusamus itaque ullam quam id rerum? Maiores, ad natus voluptates consectetur nobis amet iste
20 | quasi quisquam vel blanditiis enim iure consequatur est alias deleniti ipsum accusantium
21 | inventore ut, nulla quis quidem. Magni iste delectus quo temporibus?
22 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/17 - Box shadow/css/styles-dist.css:
--------------------------------------------------------------------------------
1 | *{box-sizing:border-box}.box{background-color:darkcyan;width:200px;padding:50px;color:red;text-align:center;margin-left:auto;margin-right:auto;box-shadow:5px 5px red,10px 10px blue,15px 15px purple}
--------------------------------------------------------------------------------
/17 - Box shadow/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | La propiedad box-shadow se creó para añadir efectos de sombra a nuestra caja.
3 |
4 | En esencia lo que hace es crear un clon de la caja respetando la forma de su box-model (ancho, alto, redondez)
5 |
6 | La sintaxis de box-shadow se puede escribir de distintas formas según lo que queramos conseguir.
7 | Los valores que le podemos poner son:
8 | offset-x -> Desplazamiento en x (obligatorio)
9 | offset-y -> Desplazamiento en y (obligatorio)
10 | blur-radius -> Desenfoque de la sombra
11 | spread-radius -> Expansión de la sombra
12 | color -> El color de la sombra, si no lo especificamos lo heredará del elemento al que pertenece
13 | inset -> Determina si la sombra será interior o exterior
14 | */
15 |
16 | * {
17 | box-sizing: border-box;
18 | }
19 |
20 | .box {
21 | background-color: darkcyan;
22 | width: 200px;
23 | padding: 50px;
24 | color: red;
25 | text-align: center;
26 | margin-left: auto;
27 | margin-right: auto;
28 | /* border-radius: 30px; */
29 | /* box-shadow: inset -5px -5px 10px 0 #111; */
30 | box-shadow: 5px 5px red, 10px 10px blue, 15px 15px purple;
31 | }
32 |
--------------------------------------------------------------------------------
/17 - Box shadow/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Box shadow
8 |
9 |
10 |
11 |
BOX
12 |
13 |
14 |
--------------------------------------------------------------------------------
/18 - Position/assets/images/banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DorianDesings/Curso-css-basico-2021/0e1ba417bb508cdf4240f92a7657924b5d7590d6/18 - Position/assets/images/banner.jpg
--------------------------------------------------------------------------------
/18 - Position/css/styles-dist.css:
--------------------------------------------------------------------------------
1 | *{box-sizing:border-box}body{margin:0;background-color:#333;color:#fff}.container{width:200px;height:200px;background-color:#555;position:relative}.box{width:100px;height:100px;text-align:center;color:#333}.box-1{background-color:lightcoral;position:relative;left:150px;z-index:-1}.box-1-2{background-color:aquamarine;position:relative;left:150px;top:-25px;z-index:-2}.box-2{background-color:lightgreen;position:relative;top:50px;z-index:20}.box-3{background-color:lightseagreen;position:relative;z-index:10}.link{position:absolute;background-color:lime;width:200px;top:50px}
--------------------------------------------------------------------------------
/18 - Position/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | La propiedad position nos permite posicionar los elementos. Hay algunos conceptos que debéis conocer para entender position.
3 |
4 | Flujo de renderizado -> Por norma general los elementos se dibujan de izquierda a derecha y de arriba abajo. El punto 0,0 de los elementos, por norma general, es la esquina superior izquierda.
5 |
6 | Espacio reservado -> Es el espacio que tiene un elemento asignado en el navegador.
7 |
8 | Elemento posicionado -> Esto significa que el elemento tiene la propiedad position con un valor distinto de "static", que es el valor que tiene esta propiedad por defecto.
9 |
10 | Stackin context -> Contexto de apilamiento. Es el orden en el que se apilarán las cajas que se superponen, dentro del mismo contenedor.
11 |
12 | Al posicionar un elemento se habilitan 5 propiedades que podemos utilizar para mover los elementos en los 3 ejes.
13 |
14 | top -> El elemento se moverá desde la parte superior la distancia que le hayamos indicado.
15 |
16 | right -> El elemento se moverá desde la parte derecha la distancia que le hayamos indicado.
17 |
18 | bottom -> El elemento se moverá desde la parte inferior la distancia que le hayamos indicado.
19 |
20 | left -> El elemento se moverá desde la parte izquierda la distancia que le hayamos indicado.
21 |
22 | z-index -> Nos permite mover el elemento en el contexto de apilamiento (eje z)
23 |
24 | NOTA: Si a un elemento le declaramos la propiedad top y/o left, las propiedades bottom y/o right no funcionarán.
25 |
26 | Los posibles valores que le podemos dar a position son.
27 | Static -> Es el valor que tiene por defecto un elemento, con este valor el elemento NO ESTÁ POSICIONADO y por lo cual no podremos moverlo
28 |
29 | Relative -> El elemento mantendrá su posición y medidas en el flujo de renderizado y mantendrá su espacio reservado. Si lo movemos lo hará usando su posición en el html como punto de referencia.
30 |
31 | Absolute -> El elemento perderá sus medidas y su espacio reservado. Si lo movemos usará el elemento posicionado contenedor como referencia. Si no tiene ninguno, usará el elemento html de referencia.
32 |
33 | Fixed -> El elemento perderá sus medidas y su espacio reservado.
34 | Si lo movemos usará el elemento html de referencia, y además se quedará fijo en esa posición aunque hagamos scroll.
35 |
36 | Sticky -> Es una mezcla de position relative y "fixed".
37 | Con este tipo de posicionamiento los valores top, left, bottom y right no sirven para mover el elemento, si no para indicarle en qué punto pasará a tener un comportamiento de posicionamiento similar a fixed, hasta llegar a ese punto se comportará como si no tuviera posicionamiento, aunque sí contará como posicionado si necesitáramos colocar otro elemento respecto a él (absolute)
38 |
39 | z-index: Es la propiedad que nos permite ordenar los elementos superpuestos para controlar cual se coloca por delante y cual por detrás.
40 | */
41 |
42 | * {
43 | box-sizing: border-box;
44 | }
45 |
46 | body {
47 | margin: 0;
48 | background-color: #333;
49 | color: #fff;
50 | /* padding-top: 70px; */
51 | }
52 |
53 | .container {
54 | width: 200px;
55 | height: 200px;
56 | background-color: #555;
57 | position: relative;
58 | }
59 |
60 | .box {
61 | width: 100px;
62 | height: 100px;
63 | text-align: center;
64 | color: #333;
65 | }
66 |
67 | .box-1 {
68 | background-color: lightcoral;
69 | position: relative;
70 | left: 150px;
71 | z-index: -1;
72 | }
73 |
74 | .box-1-2 {
75 | background-color: aquamarine;
76 | position: relative;
77 | left: 150px;
78 | top: -25px;
79 | z-index: -2;
80 | }
81 |
82 | .box-2 {
83 | background-color: lightgreen;
84 | position: relative;
85 | top: 50px;
86 | z-index: 20;
87 | }
88 |
89 | .box-3 {
90 | background-color: lightseagreen;
91 | position: relative;
92 | z-index: 10;
93 | }
94 |
95 | /* img {
96 | width: 100%;
97 | display: block;
98 | } */
99 |
100 | /* .header {
101 | text-align: center;
102 | padding: 25px 0;
103 | background-color: lightskyblue;
104 | color: orangered;
105 | position: fixed;
106 | top: 0;
107 | width: 100%;
108 | position: sticky;
109 | top: 0;
110 | height: 400px;
111 | overflow: hidden;
112 | } */
113 |
114 | /* .menu {
115 | position: sticky;
116 | top: 0;
117 | } */
118 |
119 | /* article {
120 | outline: 3px solid red;
121 | } */
122 |
123 | /* .article-title {
124 | position: sticky;
125 | top: 0;
126 | background-color: #333;
127 | margin: 0;
128 | } */
129 |
130 | /* .link {
131 | position: fixed;
132 | background-color: lightcoral;
133 | width: 200px;
134 | } */
135 |
136 | .link {
137 | position: absolute;
138 | background-color: lime;
139 | width: 200px;
140 | top: 50px;
141 | }
142 |
--------------------------------------------------------------------------------
/18 - Position/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Position
8 |
9 |
10 |
11 |
111 |
112 |
113 |
Box 1
114 |
Box 1-2
115 |
116 |
117 |
Box 2
118 |
Box 3
119 |
120 |
121 |
122 |
123 |
--------------------------------------------------------------------------------
/19 - Stacking context/css/styles-dist.css:
--------------------------------------------------------------------------------
1 | .box{width:100px;height:100px;text-align:center;color:#333}.box-1{background-color:lightcoral;position:relative;z-index:1}.box-2{background-color:lightgreen;margin-top:-50px}.box-3{background-color:lightseagreen}.container{background-color:mediumslateblue;margin-top:-50px;position:relative}.title{margin:0;background-color:#ccc;position:relative;z-index:10;opacity:0.75}.text{margin:0;margin-top:-40px}
--------------------------------------------------------------------------------
/19 - Stacking context/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | El stacking context o el contexto de apilamiento es el espacio donde nuestros elementos se van a ir apilando para que unos queden por detrás y otros por delante.
3 |
4 | El orden del stacking context es: (de delante a atrás):
5 | Elementos posicionados con un z-index de 1 ó más
6 | Elementos posicionados sin z-index declarado (o z-index:auto)
7 | Elementos no posicionados
8 | Elementos con z-index negativo
9 | */
10 |
11 | .box {
12 | width: 100px;
13 | height: 100px;
14 | text-align: center;
15 | color: #333;
16 | }
17 |
18 | .box-1 {
19 | background-color: lightcoral;
20 | position: relative;
21 | z-index: 1;
22 | }
23 |
24 | .box-2 {
25 | background-color: lightgreen;
26 | margin-top: -50px;
27 | }
28 |
29 | .box-3 {
30 | background-color: lightseagreen;
31 | }
32 |
33 | .container {
34 | background-color: mediumslateblue;
35 | margin-top: -50px;
36 | position: relative;
37 | }
38 |
39 | .title {
40 | margin: 0;
41 | background-color: #ccc;
42 | position: relative;
43 | z-index: 10;
44 | opacity: 0.75;
45 | }
46 |
47 | .text {
48 | margin: 0;
49 | margin-top: -40px;
50 | }
51 |
--------------------------------------------------------------------------------
/19 - Stacking context/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Stacking context
8 |
9 |
10 |
11 |
Box 1
12 |
13 |
Apilamiento
14 |
15 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dolorem debitis dolore at odio
16 | numquam sequi explicabo, quas nobis voluptas, quasi saepe, id unde eius libero ipsa
17 | accusamus asperiores maiores animi!
18 |
19 |
20 |
Box 2
21 |
Box 3
22 |
23 |
24 |
--------------------------------------------------------------------------------
/20 - Ordenar las propiedades/css/styles-dist.css:
--------------------------------------------------------------------------------
1 | .box{width:100px;height:100px;text-align:center;color:#333}.box-1{background-color:lightcoral;position:relative;z-index:1}.box-2{background-color:lightgreen;margin-top:-50px}.box-3{background-color:lightseagreen}.container{background-color:mediumslateblue;margin-top:-50px;position:relative}.title{margin:0;background-color:#ccc;position:relative;z-index:10;opacity:0.75}.text{margin:0;margin-top:-40px}
--------------------------------------------------------------------------------
/20 - Ordenar las propiedades/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | Ordenar las propiedades es importante, no existe ninguna norma ni especificación sobre como hacerlo, pero la mayoría de expertos coinciden en los mismos puntos.
3 |
4 | 1 - Propiedades de posicionamiento
5 | 2 - Propiedades del box model
6 | 3 - Propiedades de texto
7 | 4 - Propiedades visuales (colores, bordes, background...)
8 | 5 - El resto
9 | */
10 |
11 | body {
12 | /* Position */
13 | position: relative;
14 | top: 0;
15 | left: 0;
16 |
17 | /* Box model */
18 | display: block;
19 | width: 300px;
20 | height: 600px;
21 | padding: 10px;
22 | margin: 10px;
23 | overflow: hidden;
24 |
25 | /* Text */
26 | font-size: 16px;
27 | text-align: center;
28 |
29 | /* Visual */
30 | color: blue;
31 | border: 2px solid red;
32 | border-radius: 10px;
33 |
34 | /* Varios */
35 | opacity: 1;
36 | }
37 |
--------------------------------------------------------------------------------
/20 - Ordenar las propiedades/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Stacking context
8 |
9 |
10 |
11 |
Box 1
12 |
13 |
Apilamiento
14 |
15 | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dolorem debitis dolore at odio
16 | numquam sequi explicabo, quas nobis voluptas, quasi saepe, id unde eius libero ipsa
17 | accusamus asperiores maiores animi!
18 |
13 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Et sapiente, neque cupiditate dolor
14 | deserunt facere rerum non nemo perferendis illo corrupti iste obcaecati veniam numquam
15 | deleniti consectetur pariatur nostrum omnis!
16 |
17 |
18 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Et sapiente, neque cupiditate dolor
19 | deserunt facere rerum non nemo perferendis illo corrupti iste obcaecati veniam numquam
20 | deleniti consectetur pariatur nostrum omnis!
21 |
22 |
23 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Et sapiente, neque cupiditate dolor
24 | deserunt facere rerum non nemo perferendis illo corrupti iste obcaecati veniam numquam
25 | deleniti consectetur pariatur nostrum omnis!
26 |
27 |
28 | Lorem ipsum dolor, sit amet consectetur adipisicing elit. Et sapiente, neque cupiditate dolor
29 | deserunt facere rerum non nemo perferendis illo corrupti iste obcaecati veniam numquam
30 | deleniti consectetur pariatur nostrum omnis!
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/21 - Medidas/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | Las medidas en CSS se pueden agrupar en 2 grupos, absolutas y relativas.
3 |
4 | Las medidas absolutas NO CAMBIAN y siempre mantendrán su tamaño independientemente del dispositivo o la interacción del usuario.
5 | La más usada es px (píxeles) cuya medida es 1/96 de 1in, pero existen otras como:
6 | cm(centímetros) -> 1cm = 96px/2,54
7 | mm(milímetros) -> 1mm = 1/10 de 1cm
8 | Q(cuarto de de milímetro) -> 1Q = 1/40 de 1cm
9 | in(inches, pulgadas) -> 1in = 2,54cm = 96px
10 | pc(picas) -> 1pc = 1/16 de 1in
11 | pt(puntos) -> 1pt = 1/72 de 1in
12 |
13 | Las medidas relativas SIEMPRE dependen de un contexto son las que se recomienda utilizar en la gran mayoría de ocasiones porque nos van a permitir que todos los elementos escalen proporcionalemnte.
14 | Las más usadas son em, rem, %, vw, vh, vmin y vmax aunque tenemos otras como:
15 | ex -> Altura x de la fuente del elemento.
16 | ch -> La medida del ancho del glifo "0" de la letra del elemento.
17 | lh -> Altura de la línea del elemento.
18 |
19 | rem -> Corresponde a la medida de la "m" de la raiz del documento (html).
20 |
21 | ejemplo: 16px = 1rem
22 |
23 | em -> Corresponde a la medida de la "m" del contexto donde nos encontremos.
24 |
25 | El estandar del tamaño de fuente por defecto en la raiz del documento es 16px, y NO ES RECOMENDABLE MODIFICARLO.
26 |
27 | NOTA: Tanto "em" como "rem" se calcula en base a la propiedad font-size (tamaño de fuente)
28 |
29 | WIDTH:
30 | % -> Cuando usamos porcentaje usamos de referencia el tamaño del contenedor y el navegador calcula ese porcentaje. Esto no ocurre cuando usamos transform.
31 |
32 | auto -> Cuando usamos auto le pedimos al navegador que calcule el ancho en función del espacio disponible.
33 |
34 | HEIGHT:
35 | % -> Cuando estamos dentro de un contenedor, este tiene que tener un alto declarado, si no no podrá calcular el porcentaje. Si se le aplica una medida con porcentaje se sustituirá automaticamente por auto.
36 |
37 | auto -> Cuando utilizamos auto el alto lo calculará el navegador en base al contenido del elemento
38 |
39 | NOTA: Height es una propiedad que tenéis que usar con mucho cuidado. Si no es necesario establecer un alto, dejad que el contenido sea el que decida el alto del elemento.
40 |
41 | VIEWPORT
42 | El viewport es el área útil donde se mostrará la página web. IMPORTANTE, tened en cuenta que es el area visible sin hacer scroll.
43 | Podemos usar el viewport como medida de varias formas:
44 | vw-> Viewport Width, hace referencia al ancho del viewport.
45 | vh -> Viewport Height, hace referencia al alto del viewport.
46 | vmax -> Utiliza el valor más grande entre el ancho y el alto del viewport.
47 | vmin -> Utiliza el valor más pequeño entre el ancho y el alto del viewport.
48 |
49 | 1vw = 1% del ancho del viewport
50 | 1vh = 1% del alto del viewport
51 | 1vmin = 1% del valor que sea más pequeño del viewport
52 | 1vmax = 1% del valor que sea más grande del viewport
53 |
54 | Limitadores al ancho y alto
55 | Cuando establecemos un width y/o un height con una medida que es relativa, es posible que no queramos que se respete esa medida en todos los casos.
56 | Para ello tenemos propiedades que limitan esas medidas:
57 | min-width: Indica el ancho minimo que puede alcanzar el elemento.
58 | max-width: Indica el ancho máximo que puede alcanzar el elemento.
59 | min-height: Indica el alto minimo que puede alcanzar el elemento.
60 | max-height: Indica el alto máximo que puede alcanzar el elemento.
61 | */
62 |
63 | html {
64 | height: 300px;
65 | }
66 |
67 | body {
68 | margin: 0;
69 | background-color: #333;
70 | color: lightcoral;
71 | /* height: 500px; */
72 | }
73 |
74 | /* .header {
75 | background-color: lightskyblue;
76 | text-align: center;
77 | } */
78 |
79 | .box {
80 | width: 100%;
81 | /* max-width: 600px;
82 | min-width: 300px; */
83 | height: 60vw;
84 | /* max-height: 300px;
85 | min-height: 100px; */
86 | /* padding-bottom: 30px; */
87 | background-color: lightgreen;
88 | }
89 |
90 | /* .box-children {
91 | position: sticky;
92 | top: 0;
93 | width: 50%;
94 | width: 50vw;
95 | width: 30vmax;
96 | height: 150px;
97 | background-color: lightseagreen;
98 | } */
99 |
100 | /* .title {
101 | font-size: 3rem;
102 | } */
103 |
104 | /* .link {
105 | background-color: lightcoral;
106 | color: #333;
107 | padding: 1em 2em;
108 | border-radius: 0.5em;
109 | font-size: 2rem;
110 | } */
111 |
--------------------------------------------------------------------------------
/21 - Medidas/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Medidas
9 |
10 |
11 | Header
12 |
Min and max width & height
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/22 - Colores/android.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/22 - Colores/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | Colores
3 | La mayoría las pantallas funcionan con un modo de color aditivo. La suma de RGB da como resultado un blanco
4 | Tenemos varias formas de dar color en CSS
5 |
6 | Keywords -> Palabras clave que representan colores https://www.w3.org/wiki/CSS/Properties/color/keywords
7 |
8 | IMPORTANTE: Recordad que existe el color "transparent"
9 |
10 | CurrentColor: Es una palabra clave que se puede usar en lugar de cualquier valor de color y usará el valor ya sea establecido o heredado en la propiedad color.
11 |
12 | RGB/RGBA
13 | En el modo RGB tenemos tres canales (Red, Green, Blue) y tenemos 8 bits de color por canal, (cada bit tiene dos posibles valores 0 ó 1) lo que significa que tenemos 2^8 posibles valores, que van desde 0 hasta 255.
14 |
15 | Esto nos da un total de 255 * 255 * 255 = 16.581.375 colores.
16 |
17 | Su sintaxis es rgb(R,G,B)
18 |
19 | Si ponemos todos los canales a 0 tendremos un negro puro y si los ponemos a 255 tendremos un blanco.
20 |
21 | Para movermos por la gama de grises debemos poner los 3 canales con el mismo valor, si ponemos los 3 canales a 128 tendremos el gris puro.
22 |
23 | El modo RGB nos da la opción de utilizar un cuarto canal que correspondería al canal alpha, es decir, la transparencia, y su valor va desde 0 a 1. Tenemos dos sintaxis para utilizar el canal aplha
24 | rgba(R,G,B,A)
25 | rgb(R G B / A)
26 |
27 | Hexadecimal
28 | La notación hexadecimal es la más común en desarrollo web, se basa en los mismos principios que el RGB pero escrito en notación hexadecimal.
29 |
30 | El sistema hexadecimal es un sistema basado en 16 valores del 0 al 15
31 | Utiliza los dígitos del 0 al 9 y las letras de la A a la F
32 |
33 | En este tipo de notacíon también necesitamos 256 valores.
34 |
35 | Se compone de 16 caracteres en parejas ya que 16*16 = 256
36 | 0 1 2 3 4 5 6 7 8 9 A B C D E F
37 | 0 1 2 3 4 5 6 7 8 9 A B C D E F
38 |
39 | Para indicar que vamos a usar notación hexadecimal debemos usar el símbolo de hash/almohadilla # y a continuación usaremos esta notación por parejas.
40 | #RRGGBB
41 | Cuando una pareja usa el mismo valor se puede omitir el segundo valor, siempre que se haga en las 3 parejas.
42 |
43 | rgb(255,255,255) -> #FFFFFF -> #FFF
44 | rgb(0,0,0) -> #000000 -> #000
45 |
46 | También tenemos la opción de usar transparencias en hexadecimal añadiendo un cuarto canal que sigue las mismas normas.
47 |
48 | rgb(0 0 0 / .5) -> #00000080 ~> #0007
49 |
50 | HSL / HSLA
51 | El modo de color HSL es el más intuitivo para los humanos. Su nombre viene de las siglas Hue (tono) Saturation (saturación) y Lightness (luminancia)
52 |
53 | El primer valor es el ángulo en el círculo cromático donde 0 y 360 será el color rojo. Hay ciertos valores que os pueden servir como referencia para relacionar mejor los colores con sus ángulos.
54 | 0 -> rojo
55 | 60 -> amarillo
56 | 120 -> verde
57 | 180 -> cyan
58 | 240 -> azul
59 | 300 -> magenta
60 |
61 | El segundo valor es la saturación o intensidad del color.
62 | 0% -> gris
63 | 100% -> color puro
64 |
65 | El tercer valor es la luminosidad del color
66 | 0% -> negro, nada de luz
67 | 100% -> blanco, luz máxima
68 |
69 | Nota: Es importante que aunque el valor de saturación o luminancia sea 0 hay que poner 0% si no, no funcionará
70 |
71 | El modo HSL también admite transparencia y su sintaxis es la misma que la del modo RGB. Tenemos dos sintaxis disponible.
72 | hsla(h,s,l,a)
73 | hsl(h s l / a)
74 | En ambos casos el valor alpha va de 0 a 1
75 |
76 | Existen otros cuatro modos de color en los que está trabajando que serían CMYK (Cyan, Magenta, Yellow y Black), HWB (Hue, Whiteness, Blackness), lab(Lightness, distance a, distance b) y lch(Lightness, chroma, hue), todos están en el borrador del modulo de color de nivel 4 pero aún no es estándar.
77 |
78 | */
79 | body {
80 | background-color: mediumorchid;
81 | /* background-color: hsla(60 100% 50% / 0.5); */
82 | }
83 |
84 | .main {
85 | /* color: aquamarine; */
86 | /* background-color: currentColor; */
87 | }
88 |
89 | .box {
90 | /* border-top: 500px solid red;
91 | border-left: 250px solid transparent;
92 | border-right: 250px solid transparent; */
93 | width: 200px;
94 | height: 200px;
95 | background-color: lightcoral;
96 | /* background-color: rgba(0, 0, 0, 0.1); */
97 | /* background-color: rgb(0 0 0 / 0.3); */
98 | box-shadow: 5px 5px 10px rgb(0 0 0 / 0.5);
99 | box-shadow: 5px 5px 10px #0004;
100 | box-shadow: 5px 5px 10px hsl(180 50% 50%);
101 | }
102 |
--------------------------------------------------------------------------------
/22 - Colores/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Colores
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/23 - Fuentes/assets/fonts/GreatVibes-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DorianDesings/Curso-css-basico-2021/0e1ba417bb508cdf4240f92a7657924b5d7590d6/23 - Fuentes/assets/fonts/GreatVibes-Regular.ttf
--------------------------------------------------------------------------------
/23 - Fuentes/assets/icons/home.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/23 - Fuentes/css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | La tipografía es la ciencia que estudia el diseño y uso de los tipos de letra
3 |
4 | Las fuentes son tipos específicos de letra
5 |
6 | Los glifos son cada uno de los dibujos que representan cada símbolo de la fuente, incluidos los espacios.
7 |
8 | Los estilos de fuente son las modificaciones que se hacen a las fuentes, como el grosor o la inclinación.
9 |
10 | Familia tipográfica, son las diferentes fuentes que pertenecen a una misma fuente base.
11 |
12 | Cuando usamos una propiedad text-* estamos afectando a un bloque completo
13 |
14 | Cuando utilizamos una propiedad font-* afectamos a la fuente del texto.
15 |
16 | Fuentes predeterminadas, son las fuentes que se consideran seguras ya que son genéricas y no establecen una familia tipográfica, si no un estilo de fuente.
17 | serif: Fuentes que tienen serifas (adornos en los caracteres)
18 |
19 | sans-serif: Fuentes sin serifas
20 |
21 | monospace: Fuentes que tienen el mismo espaciado entre todos sus caracteres.
22 |
23 | cursive: Fuentes que pretenden emular escritura a mano, con ligaduras y trazos fluidos
24 |
25 | fantasy: Fuentes que suelen ser decorativas
26 |
27 | Fuentes desde un servidor remoto, son fuentes que se encuentran en un servidor y que nosotros descargamos para su uso, la más famosa es Google Fonts
28 |
29 | Siempre que utilicemos fuentes no genéricas, debemos poner fuentes genéricas de fallback (respaldo)
30 |
31 | Google Icons
32 | Material Icons
33 | https://fonts.googleapis.com/css?family=Material+Icons
34 | Material Icons Outlined
35 | https://fonts.googleapis.com/css?family=Material+Icons+Outlined
36 | Material Icons Two Tone
37 | https://fonts.googleapis.com/css?family=Material+Icons+Two+Tone
38 | Material Icons Rounded
39 | https://fonts.googleapis.com/css?family=Material+Icons+Round
40 | Material Icons Sharp
41 | https://fonts.googleapis.com/css?family=Material+Icons+Sharp
42 |
43 | Nota: Si vas a usar una gran cantidad de iconos en tu web compensa usar la librería remota
44 | Si sólo usarás unos pocos es mejor descargarlos en formato svg y utilizarlos como imágenes
45 |
46 | Formatos para fuentes
47 | True Type Font (TTF) -> Fue el primer formato estándar.
48 |
49 | Open True Type Font (OTF) -> Facilita o implementa la creación de las curvas.
50 |
51 | Web Open Font Format (WOFF) (WOFF2) -> Es un formato mucho más ligero y mejora el rendimiento. Funciona a través de metadatos. WOFF tiene soporte total y WOFF2 no funciona en internet explorer.
52 |
53 | Scalable Vector Graphics (SVG) -> Para efectos y animaciones sobre el texto, no es recomendable usarlo en el texto genérico de la web, tiene muchos problemas.
54 |
55 | Embedded Open Type (EOT) -> Primer formato digital propuesto para sitios WEB y es comprimido. Se quedó como una propuesta pero no pasó a ser un estándar.
56 |
57 | Regla @font-face
58 | Esta es la forma de utilizar fuentes que tenemos descargadas y que no traemos de un servidor remoto, cuando usamos google fonts, esto es lo que está pasando por detrás.
59 |
60 | La sintaxis es:
61 | @font-face {
62 | font-family: Nombre de la familia, se lo asignamos nosotros;
63 | src: aquí pondremos dos tipos de valores.
64 | local() -> pondremos el nombre de la fuente para buscarla en el ordenador del usuario, de esa forma podremos evitar descargarla
65 | url() -> Si no encontramos esa fuente procederemos a descargarla.
66 | Existe otro valor, menos usado que es format
67 | format() -> Este valor lo pasaremos de forma opcional si queremos ser más específicos con la fuente que vamos a buscar o descargar, si no lo ponemos cogerá el primer formato soportado, si lo ponemos sólo usará el que hemos establecido, y si no lo encuentra no hará nada.
68 | }
69 |
70 | Podemos añadirle más valores como font-style, font-weight y font-display(experimental), pero esos son opcionales.
71 |
72 | Transformaciones de texto
73 | Text-transform: Esta propiedad nos permite hacer transformaciones ESTÉTICAS en nuestro texto.
74 | Admite los valores:
75 | none: No se aplicará ninguna transformación.
76 | uppercase: El texto se pondrá en mayúsculas
77 | lowercase: El texto se pondrá en minúsculas
78 | capitalize: Transforma la primera letra de cada palabra en mayúscula.
79 | Adornos en el texto
80 | Text-decoration: Esta propiedad nos permite controlar la línea que podemos poner en los textos.
81 | Admite los valores:
82 | none: Elimina cualquier línea.
83 | underline: Coloca una linea bajo el texto.
84 | overline: Coloca una linea sobre el texto.
85 | line-through: Coloca una linea tachando el texto.
86 |
87 | Text-shadow: Funciona exáctamente igual que box-shadow, con la única diferencia de que no admite el valor inset ni la expansión de la sombra.
88 | Los valores son:
89 | offsetX: desplazamiento horizontal.
90 | offsetY: desplazamiento vertical
91 | blur: desenfoque.
92 | color: color, por defecto coge el del texto.
93 |
94 | Espaciado en fuentes y textos
95 | letter-spacing: Establece la separación entre caracteres, se puede establecer en cualquier medida válida para CSS
96 |
97 | word-spacing: Establece la separación entre palabras,
98 | se puede establecer en cualquier medida válida para CSS
99 |
100 | line-height: Establece el alto de cada línea, se puede dar una medida concreta o se puede poner un número que se multipliará por el font size del texto al que se lo estemos aplicando.
101 |
102 | Orientación del texto.
103 | writing-mode: Establece la dirección del texto
104 |
105 | */
106 |
107 | @font-face {
108 | font-family: "Mano alzada";
109 | src: local("Great Vibes"), url("../assets/fonts/GreatVibes-Regular.ttf");
110 | }
111 |
112 | body {
113 | background-color: #333;
114 | color: aliceblue;
115 | font-family: sans-serif;
116 | }
117 |
118 | .text {
119 | text-transform: uppercase;
120 | /* writing-mode: vertical-rl; */
121 | word-break: break-all;
122 | width: 10px;
123 | text-align: center;
124 | }
125 |
126 | .word-container {
127 | background-color: lightcoral;
128 | height: 100px;
129 | text-align: center;
130 | }
131 |
132 | .word {
133 | line-height: 100px;
134 | }
135 |
--------------------------------------------------------------------------------
/23 - Fuentes/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Google Icons
9 |
10 |
11 |
12 |
13 |
Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit dolore quasi aspernatur maxime
23 | consequatur, distinctio nam error ipsa, eos quos dolorum temporibus voluptas quibusdam quae molestias, vitae
24 | obcaecati ab cupiditate?
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/5 - Sintaxis de css/styles.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Selector: El elemento al que vamos a aplicar estilos
3 | * Propiedad: Lo que vamos a cambiar
4 | * Valor: El nuevo valor que le vamos a dar a la propiedad
5 | * Propiedad:Valor -> Se le denomina declaración
6 | * Al conjunto de selector+declaracion(es) se le denomina regla
7 | */
8 |
9 | /* selector{
10 | propiedad:valor;
11 | propiedad2:valor;
12 | propiedadN:valor;
13 | } */
--------------------------------------------------------------------------------
/6 - Selectores/css/styles.css:
--------------------------------------------------------------------------------
1 | /* SELECTORES */
2 |
3 | /*
4 | Selectores Simples
5 | Selectores elementales
6 | Selector Universal -> *
7 | Selector de tipo o etiqueta -> Nombre de la etiqueta
8 | Selectores de atributo
9 | id -> id del elemento
10 | clase -> clase del elemento
11 | otros atributos
12 | [atributo]->Selecciona los elementos con ese atributo
13 | [atributo=valor]->Selecciona los elementos que coincidan con el atributo=valor
14 | [atributo^=valor]-> Selecciona los elementos cuyo atributo comience con valor
15 | [atributo*=valor]-> Selecciona los elementos cuyo atributo contenga valor
16 | [atributo$=valor]-> Selecciona los elementos cuyo atributo termine con valor
17 | [atributo|=valor]-> Selecciona los elementos cuyo atributo comience con valor o valor-
18 |
19 | Selectores Compuestos
20 | Selectores Agrupados -> Se agrupan los selectores separados por comas y se escribe el estilo una sola vez
21 | Selectores Combinadores
22 | Selector descendente -> Selecciona un elemento dentro de otro
23 | Selector de hermano siguiente + -> Selecciona al hermano siguiente adyacente
24 | Selector de hermanos siguientes ~ -> Selecciona a todos los hermanos siguientes
25 | Selector de hijo directo > -> Selecciona SOLO los hijos directos
26 | */
27 |
28 | .container > p{
29 | background-color: tomato;
30 | }
31 |
32 | .text-2 + h2{
33 | background-color: tomato;
34 | }
35 |
36 | .text-2 ~ .text{
37 | background-color: teal;
38 | }
39 |
40 | /* .text,
41 | .text-2,
42 | .text-3,
43 | .text-4{
44 | background-color: steelblue;
45 | } */
46 |
47 | /* *{
48 | background-color: lightcoral;
49 | }
50 |
51 | h1{
52 | background-color: lightcyan;
53 | }
54 |
55 | p{
56 | background-color: lightgreen;
57 | }
58 |
59 | ul{
60 | background-color: red;
61 | }
62 |
63 | li{
64 | background-color: blue;
65 | } */
66 |
67 | /* #title{
68 | background-color: lightgreen;
69 | }
70 |
71 | .title{
72 | background-color: lightsalmon;
73 | }
74 |
75 | .text{
76 | background-color: limegreen;
77 | } */
78 |
79 | /*[href]{
80 | background-color: mediumorchid;
81 | }
82 |
83 | [href="https://google.com"]{
84 | background-color: orangered;
85 | }
86 |
87 | [href^="color"]{
88 | background-color: red;
89 | }
90 |
91 | [href*="modo"]{
92 | background-color: green;
93 | }
94 |
95 | [href$="azul"]{
96 | background-color: steelblue;
97 | }
98 |
99 | [lang|="en"]{
100 | background-color: magenta;
101 | } */
102 |
103 |
--------------------------------------------------------------------------------
/6 - Selectores/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Selectores
9 |
10 |
11 |
12 |
Selectores CSS
13 |
Subtítulo
14 |
15 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Ad maxime autem unde tempore. Fuga
16 | temporibus laboriosam similique, sit nam, molestias perspiciatis dolor soluta repudiandae
17 | dolorem nobis ipsa, amet alias laborum.
18 |
19 |
Título secundario
20 |
21 |
22 | Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusamus, necessitatibus nulla.
23 | Atque nostrum illum enim placeat eius ad, nisi sequi obcaecati aliquam necessitatibus.
24 | Veniam dolores similique consequatur expedita ut a.
25 |
26 |
Título secundario
27 |
28 |
29 | Lorem ipsum dolor sit, amet consectetur adipisicing elit. Officiis velit iusto atque
30 | voluptate quidem reprehenderit, quo rerum quibusdam quod aperiam repellat ab totam rem
31 | eius quae possimus deserunt eligendi!
32 |
33 |
34 |
Título secundario
35 |
36 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Illo necessitatibus ex voluptate,
37 | commodi ea deleniti suscipit temporibus minus sint culpa consequuntur voluptatum. Pariatur
38 | nostrum explicabo similique doloribus magni illum unde.
39 |
40 |
41 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/7 - Como funciona css/css/styles.css:
--------------------------------------------------------------------------------
1 | /* ¿CÓMO FUNCIONA CSS?
2 | Especificidad -> Establece cómo de específico es un selector para saber qué estilo aplicar.
3 | El cálculo se realiza con la siguiente fórmula:
4 | Etiquetas y pseudoelementos 001
5 | Clases, atributos y pseudoclases 010
6 | Ids 100
7 | Estilos en línea 1000
8 | !important GANA A TODO Y NO SE USA NUNCA
9 |
10 | Cascada -> Funciona siempre que la especificidad sobre el elemento sea la misma
11 |
12 | Herencia -> Es la capacidad que tienen algunos elementos de heredar algunas propiedades de sus elementos contenedores (padres, abuelos, etc)
13 | */
14 |
15 | body{
16 | background-color: #333;
17 | }
18 |
19 | h1{
20 | color:cyan;
21 | font-size: 10px;
22 | }
23 |
24 | .text{
25 | color: green;
26 | }
27 |
28 | .link{
29 | color: inherit;
30 | }
31 |
32 | .list{
33 | color:indianred
34 | }
35 |
36 | .list-item-extra{
37 | color:initial;
38 | }
39 |
40 | .title{
41 | color:red
42 | }
43 |
44 |
--------------------------------------------------------------------------------
/7 - Como funciona css/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Fundamentos de CSS
9 |
10 |
11 |
12 |
Fundamentos de CSS
13 | CSS
14 |
15 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sed labore quam facilis ad doloribus
16 | atque perferendis mollitia voluptatum iste, accusamus provident qui harum
17 | ENLACE DE EJEMPLO ipsam quae in eligendi voluptates adipisci?
18 | Ducimus?
19 |
20 |
21 |
Item 1
22 |
Item 2
23 |
Item 3
24 |
Item 4
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/8 - Estilos por defecto/css/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2 |
3 | /* Document
4 | ========================================================================== */
5 |
6 | /**
7 | * 1. Correct the line height in all browsers.
8 | * 2. Prevent adjustments of font size after orientation changes in iOS.
9 | */
10 |
11 | html {
12 | line-height: 1.15; /* 1 */
13 | -webkit-text-size-adjust: 100%; /* 2 */
14 | }
15 |
16 | /* Sections
17 | ========================================================================== */
18 |
19 | /**
20 | * Remove the margin in all browsers.
21 | */
22 |
23 | body {
24 | margin: 0;
25 | }
26 |
27 | /**
28 | * Render the `main` element consistently in IE.
29 | */
30 |
31 | main {
32 | display: block;
33 | }
34 |
35 | /**
36 | * Correct the font size and margin on `h1` elements within `section` and
37 | * `article` contexts in Chrome, Firefox, and Safari.
38 | */
39 |
40 | h1 {
41 | font-size: 2em;
42 | margin: 0.67em 0;
43 | }
44 |
45 | /* Grouping content
46 | ========================================================================== */
47 |
48 | /**
49 | * 1. Add the correct box sizing in Firefox.
50 | * 2. Show the overflow in Edge and IE.
51 | */
52 |
53 | hr {
54 | box-sizing: content-box; /* 1 */
55 | height: 0; /* 1 */
56 | overflow: visible; /* 2 */
57 | }
58 |
59 | /**
60 | * 1. Correct the inheritance and scaling of font size in all browsers.
61 | * 2. Correct the odd `em` font sizing in all browsers.
62 | */
63 |
64 | pre {
65 | font-family: monospace, monospace; /* 1 */
66 | font-size: 1em; /* 2 */
67 | }
68 |
69 | /* Text-level semantics
70 | ========================================================================== */
71 |
72 | /**
73 | * Remove the gray background on active links in IE 10.
74 | */
75 |
76 | a {
77 | background-color: transparent;
78 | }
79 |
80 | /**
81 | * 1. Remove the bottom border in Chrome 57-
82 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
83 | */
84 |
85 | abbr[title] {
86 | border-bottom: none; /* 1 */
87 | text-decoration: underline; /* 2 */
88 | text-decoration: underline dotted; /* 2 */
89 | }
90 |
91 | /**
92 | * Add the correct font weight in Chrome, Edge, and Safari.
93 | */
94 |
95 | b,
96 | strong {
97 | font-weight: bolder;
98 | }
99 |
100 | /**
101 | * 1. Correct the inheritance and scaling of font size in all browsers.
102 | * 2. Correct the odd `em` font sizing in all browsers.
103 | */
104 |
105 | code,
106 | kbd,
107 | samp {
108 | font-family: monospace, monospace; /* 1 */
109 | font-size: 1em; /* 2 */
110 | }
111 |
112 | /**
113 | * Add the correct font size in all browsers.
114 | */
115 |
116 | small {
117 | font-size: 80%;
118 | }
119 |
120 | /**
121 | * Prevent `sub` and `sup` elements from affecting the line height in
122 | * all browsers.
123 | */
124 |
125 | sub,
126 | sup {
127 | font-size: 75%;
128 | line-height: 0;
129 | position: relative;
130 | vertical-align: baseline;
131 | }
132 |
133 | sub {
134 | bottom: -0.25em;
135 | }
136 |
137 | sup {
138 | top: -0.5em;
139 | }
140 |
141 | /* Embedded content
142 | ========================================================================== */
143 |
144 | /**
145 | * Remove the border on images inside links in IE 10.
146 | */
147 |
148 | img {
149 | border-style: none;
150 | }
151 |
152 | /* Forms
153 | ========================================================================== */
154 |
155 | /**
156 | * 1. Change the font styles in all browsers.
157 | * 2. Remove the margin in Firefox and Safari.
158 | */
159 |
160 | button,
161 | input,
162 | optgroup,
163 | select,
164 | textarea {
165 | font-family: inherit; /* 1 */
166 | font-size: 100%; /* 1 */
167 | line-height: 1.15; /* 1 */
168 | margin: 0; /* 2 */
169 | }
170 |
171 | /**
172 | * Show the overflow in IE.
173 | * 1. Show the overflow in Edge.
174 | */
175 |
176 | button,
177 | input { /* 1 */
178 | overflow: visible;
179 | }
180 |
181 | /**
182 | * Remove the inheritance of text transform in Edge, Firefox, and IE.
183 | * 1. Remove the inheritance of text transform in Firefox.
184 | */
185 |
186 | button,
187 | select { /* 1 */
188 | text-transform: none;
189 | }
190 |
191 | /**
192 | * Correct the inability to style clickable types in iOS and Safari.
193 | */
194 |
195 | button,
196 | [type="button"],
197 | [type="reset"],
198 | [type="submit"] {
199 | -webkit-appearance: button;
200 | }
201 |
202 | /**
203 | * Remove the inner border and padding in Firefox.
204 | */
205 |
206 | button::-moz-focus-inner,
207 | [type="button"]::-moz-focus-inner,
208 | [type="reset"]::-moz-focus-inner,
209 | [type="submit"]::-moz-focus-inner {
210 | border-style: none;
211 | padding: 0;
212 | }
213 |
214 | /**
215 | * Restore the focus styles unset by the previous rule.
216 | */
217 |
218 | button:-moz-focusring,
219 | [type="button"]:-moz-focusring,
220 | [type="reset"]:-moz-focusring,
221 | [type="submit"]:-moz-focusring {
222 | outline: 1px dotted ButtonText;
223 | }
224 |
225 | /**
226 | * Correct the padding in Firefox.
227 | */
228 |
229 | fieldset {
230 | padding: 0.35em 0.75em 0.625em;
231 | }
232 |
233 | /**
234 | * 1. Correct the text wrapping in Edge and IE.
235 | * 2. Correct the color inheritance from `fieldset` elements in IE.
236 | * 3. Remove the padding so developers are not caught out when they zero out
237 | * `fieldset` elements in all browsers.
238 | */
239 |
240 | legend {
241 | box-sizing: border-box; /* 1 */
242 | color: inherit; /* 2 */
243 | display: table; /* 1 */
244 | max-width: 100%; /* 1 */
245 | padding: 0; /* 3 */
246 | white-space: normal; /* 1 */
247 | }
248 |
249 | /**
250 | * Add the correct vertical alignment in Chrome, Firefox, and Opera.
251 | */
252 |
253 | progress {
254 | vertical-align: baseline;
255 | }
256 |
257 | /**
258 | * Remove the default vertical scrollbar in IE 10+.
259 | */
260 |
261 | textarea {
262 | overflow: auto;
263 | }
264 |
265 | /**
266 | * 1. Add the correct box sizing in IE 10.
267 | * 2. Remove the padding in IE 10.
268 | */
269 |
270 | [type="checkbox"],
271 | [type="radio"] {
272 | box-sizing: border-box; /* 1 */
273 | padding: 0; /* 2 */
274 | }
275 |
276 | /**
277 | * Correct the cursor style of increment and decrement buttons in Chrome.
278 | */
279 |
280 | [type="number"]::-webkit-inner-spin-button,
281 | [type="number"]::-webkit-outer-spin-button {
282 | height: auto;
283 | }
284 |
285 | /**
286 | * 1. Correct the odd appearance in Chrome and Safari.
287 | * 2. Correct the outline style in Safari.
288 | */
289 |
290 | [type="search"] {
291 | -webkit-appearance: textfield; /* 1 */
292 | outline-offset: -2px; /* 2 */
293 | }
294 |
295 | /**
296 | * Remove the inner padding in Chrome and Safari on macOS.
297 | */
298 |
299 | [type="search"]::-webkit-search-decoration {
300 | -webkit-appearance: none;
301 | }
302 |
303 | /**
304 | * 1. Correct the inability to style clickable types in iOS and Safari.
305 | * 2. Change font properties to `inherit` in Safari.
306 | */
307 |
308 | ::-webkit-file-upload-button {
309 | -webkit-appearance: button; /* 1 */
310 | font: inherit; /* 2 */
311 | }
312 |
313 | /* Interactive
314 | ========================================================================== */
315 |
316 | /*
317 | * Add the correct display in Edge, IE 10+, and Firefox.
318 | */
319 |
320 | details {
321 | display: block;
322 | }
323 |
324 | /*
325 | * Add the correct display in all browsers.
326 | */
327 |
328 | summary {
329 | display: list-item;
330 | }
331 |
332 | /* Misc
333 | ========================================================================== */
334 |
335 | /**
336 | * Add the correct display in IE 10+.
337 | */
338 |
339 | template {
340 | display: none;
341 | }
342 |
343 | /**
344 | * Add the correct display in IE 10.
345 | */
346 |
347 | [hidden] {
348 | display: none;
349 | }
350 |
--------------------------------------------------------------------------------
/8 - Estilos por defecto/css/styles.css:
--------------------------------------------------------------------------------
1 | body{
2 | background-color: #333;
3 | color: #fff;
4 | }
--------------------------------------------------------------------------------
/8 - Estilos por defecto/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Document
10 |
11 |
12 |