Categoría: CSS
Animaciones CSS
100 animaciones increíbles y fáciles de usar:
https://dev.to/afif/another-100-underline-overlay-animations-the-extended-css-collection-574c
Generadores CSS
Mini ejercicio flex
Usando solo flexbox crear una fila con cuatro artículos que ocupen todo el ancho de la página y dentro de cada artículo una cabecera y debajo un botón centrado.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> #contenedor { display: flex; justify-content: space-around; } #contenedor>div { background-color: bisque; background: linear-gradient(to right, bisque, #eacda3); flex-basis: 200px; border-radius: 20px 0; box-shadow: 7px 7px 5px #DDDDDD; } #contenedor h1 { text-align: center; } #contenedor>div>div { display: flex; justify-content: center; align-items: center; height: 100px; } </style> </head> <body> <div id="contenedor"> <div> <h1>Artículo</h1> <div><button>Pínchame</button></div> </div> <div> <h1>Artículo</h1> <div><button>Pínchame</button></div> </div> <div> <h1>Artículo</h1> <div><button>Pínchame</button></div> </div> <div> <h1>Artículo</h1> <div><button>Pínchame</button></div> </div> </div> </body> </html>
Tres artículos con espacio lateral
<div class="row"> <div class="col-md-2"></div> <div class="col-md-8 "> <div class="row"> <article class="col-md-4 bg-primary"> <h1>Artículo</h1> </article> <article class="col-md-4 bg-primary"> <h1>Artículo</h1> </article> <article class="col-md-4 bg-primary"> <h1>Artículo</h1> </article> </div> </div> <div class=" col-md-2"> </div> </div>
<div class="col-md-8 d-flex justify-content-around"> <article class="bg-primary"> <h1>Artículo</h1> </article> <article class="bg-primary"> <h1>Artículo</h1> </article> <article class="bg-primary"> <h1>Artículo</h1> </article> </div>
Selectores básicos CSS
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="css/selectores.css"> </head> <body> <header> <div><img src="img/baldosa.jpg"></div> <div> <h1>hola</h1> </div> <ul> <li> <h1>Que pasa??</h1> </li> </ul> <h1>Hola</h1> <h1>Hola</h1> </header> <h1>Hola que tal estamos. Yo muy bien.</h1> <h1 id="especial" class="varios sombra">Hola que tal <span class="susto">estamos</span>. Yo muy bien.</h1> <h1 class="varios tipo sombra">Hola que tal estamos. Yo muy bien.</h1> <h1 class="tipo">Hola que tal estamos. Yo muy bien.</h1> <h1 class="varios sombra">Hola que tal <span>estamos</span>. Yo muy bien.</h1> <h1 class="varios">Hola que tal estamos. Yo muy bien.</h1> <h1 class="varios">Hola que tal estamos. Yo muy bien.</h1> <h1 class="sombra verde">Hola que tal <span class="verde">estamos</span>. Yo muy bien.</h1> <a href="pepe.html">ENlace</a> <a href="fotos.html">ENlace</a> <a href="articulos.html">ENlace</a> <div> <p>parrafo</p> <p>parrafo</p> <p>parrafo</p> <p>parrafo</p> <p>parrafo</p> </div> <footer> <div> <div> <p>Párrafos dentro de muchos divs</p> <p>Párrafos dentro de muchos divs</p> <p>Párrafos dentro de muchos divs</p> <p>Párrafos dentro de muchos divs</p> <p>Párrafos dentro de muchos divs</p> <a href="">Enlace</a> </div> <p>estoy solo</p> <p>estoy solo</p> <p>estoy solo</p> </div> </footer> </body> </html>
h1{ color:blue; clear: both; } #especial{ color:red; background-color: green; } #especial .susto{ background-color: yellow; } .varios{ color:green; } .varios span{ color:yellow; } .tipo{ font-family: Verdana, Geneva, Tahoma, sans-serif; } .sombra{ text-shadow: 10px 10px 5px grey; } /*El estilo se aplica a las dos clases */ .tipo, .sombra{ font-size:4em; } /* El estilo se aplica a todos los headers y a todas las imágenes */ header, img{ border:1px solid black; } /*El estilo se aplica a todas las imágenes que estén dentro de un header*/ header img{ width:20%; float: left; } /*Esto se aplica a todos los h1 dentro del header, estén donde estén (anidados dentro de otros elementos) */ header h1{ color:purple; } /*Esto se aplica a todos los h1 hijos directos del header, si hay anidación no se aplica */ header > h1{ color:salmon; } header + h1{ background-color: sienna; } /*Todos los elementos de clase verde que estén dentro de un h1 */ h1 .verde{ background-color: green; } /* Todos los h1 que además tengan la clase verde */ h1.verde{ background-color: green; } [class]{ border:3px solid black; } /*Todos los elementos con un atributo href que empieza por 'foto' */ [href^=foto]{ background-color: chartreuse; } .susto:hover{ background-color: chocolate; } p:last-child{ color:red; }
Selectores CSS
Pero mejor no memorizarlos 😉
En esta página de w3schools se muestran diferentes tipos de selectores css:
Layout flexbox + media query
<header> <h1>Cabecera</h1> </header> <div class="slider"></div> <main> <section> <h1>Contenido</h1> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, esse! Hic magni voluptate quia, ut eligendi pariatur deleniti. Numquam, perspiciatis. Eius soluta ipsam qui nisi, ea cum quod atque pariatur?</p> </section> <section> <h1>Contenido</h1> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, esse! Hic magni voluptate quia, ut eligendi pariatur deleniti. Numquam, perspiciatis. Eius soluta ipsam qui nisi, ea cum quod atque pariatur?</p> </section> <section> <h1>Contenido</h1> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, esse! Hic magni voluptate quia, ut eligendi pariatur deleniti. Numquam, perspiciatis. Eius soluta ipsam qui nisi, ea cum quod atque pariatur?</p> </section> <section> <h1>Contenido</h1> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, esse! Hic magni voluptate quia, ut eligendi pariatur deleniti. Numquam, perspiciatis. Eius soluta ipsam qui nisi, ea cum quod atque pariatur?</p> </section> </main> <footer> <p>Pie de página</p> </footer>
header{ height:150px; background-color: burlywood; } .slider{ width: 100%; height: 300px; background-image: url('../img/baldosa.jpg'); background-size: cover; } main{ display: flex; flex-wrap: wrap; } main section{ flex:25%; } @media (max-width:728px){ main section{ flex:50%; } } @media (max-width:400px){ .slider{ height: 100px; } footer,aside{ display: none; } main { flex-direction: column; } }
Layout ‘Holy Grial’ con css Grid
Layout flex responsive
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="css/layoutflex.css"> </head> <body> <header> <h1>Cabecera</h1> </header> <main> <aside> <ul> <li>aaaa</li> <li>aaaa</li> <li>aaaa</li> <li>aaaa</li> </ul> </aside> <section> <h1>Contenido</h1> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Hic, esse! Hic magni voluptate quia, ut eligendi pariatur deleniti. Numquam, perspiciatis. Eius soluta ipsam qui nisi, ea cum quod atque pariatur?</p> </section> </main> <footer> <p>Pie de página</p> </footer> </body> </html>
main{ display: flex; } @media (max-width:728px){ main{ flex-direction: column; } } @media (max-width:400px){ footer,aside{ display: none; } }