FlexBox

FlexBox: La caja flexible con CSS 3

Demo visual muy interesante:

https://demos.scotch.io/visual-guide-to-css3-flexbox-flexbox-playground/demos/

Otra con animaciones:

Flexbox el tutorial animado

Guía completa:

A Complete Guide to Flexbox

Templates con flexbox:

https://www.quackit.com/html/templates/css_flexbox_templates.cfm

Cómo calcular como crecen y se encogen los elementos (no es tan sencillo como parece):

https://ed.team/blog/guia-definitiva-de-flexbox-2-flex-basis-flex-frow-flex-shrink

Ejemplos prácticos de cómo hacer cosas con flexbox:

https://www.sketchingwithcss.com/samplechapter/cheatsheet.html

mascotas

Css:


*{
font-family:Verdana,serif;
}
header,aside,section,footer{
padding:1rem;
}
header{
height:10rem;

background-image: url("img/logo2.png"), url("img/gato.jpg");
background-size:160px 160px, cover;
background-repeat: no-repeat,repeat;

}
aside{
width:15rem;
height:40rem;
background-image:linear-gradient(rgba(200,190,160,1),rgba(200,190,160,.7)),url("img/gato.jpg");
float:left;
}
section{
margin-left:17rem;
background-color: #DCD9D4;
background: linear-gradient(to bottom, #abbaab,#ffffff);
min-height:40rem;
padding:1rem 10rem;
}
footer{
height:3rem;
background-color:black;
color:white;
}

header h1{
font-family: 'Carter One', cursive;
font-size:5rem;
margin:0;
}
aside ul{
list-style-type:none;
padding:0;
}

aside ul li {
padding: 8px 16px;
border: 1px solid #ddd;
background-color:PowderBlue ;
margin-top:.5rem;
}
aside ul li:hover {
background-color:yellowgreen;
}
aside ul li a{
text-decoration:none;
font-size:1.5em;
}
.destacado{
color:yellow;
}
#fotos figure img{
width: 100%;
height: auto;
}
#fotos figure a img{
width: 32px;
position:absolute;
right:5px;
top:5px;
}
#fotos figure{
margin: 20px;
border: 1px solid #ccc;
float: left;
width: 300px;
box-shadow: 10px 10px 5px #AAAAAA;
opacity:.8;
position:relative;
transition: transform 1s;
animation: sombra 2s ease 0s 2 alternate;
}
#fotos figure:hover{
border: 1px solid #777;
box-shadow: 10px 10px 5px #555555;
opacity:1;
transform:rotate(15deg) scale(1.05);

}
#fotos figcaption{
padding: 15px;
text-align: center;
background-color: white;
opacity:0;
transform:translate(0,-100px);
transition: opacity 1s, transform 2s;
}
#fotos:hover figcaption{
padding: 15px;
text-align: center;

opacity:1;
transform:translate(0);
}
@keyframes sombra{
from{transform:rotate(0);}
to {transform:rotate(180deg);}
}

#productos {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}

#productos td, #productos th {
border: 1px solid #ddd;
padding: 8px;
}

#productos tr:nth-child(even){background-color: #f2f2f2;}

#productos tr:hover {background-color: #ddd;}

#productos th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #4CAF50;
color: white;
}

nav ul li{
display: inline-block;
padding:10px;
color:white;
}
nav ul{
background-color: grey;
margin:0;
}

index


<!DOCTYPE html>
<html>

<head>
<title></title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="layout.css">
<link href="https://fonts.googleapis.com/css?family=Carter+One" rel="stylesheet">
</head>

<body>

<header>
<h1>La web de los gatitos </h1>
</header>

<main>

<aside>
<ul>
<li><a href="fotos.html">Fotos</a></li>
<li><a href="prod.html">Productos</a></li>
<li><a href="tienda.html">Tienda</a></li>
</ul>
</aside>

<section>
<h2>Bienvenido a la web de los gatitos 你好 Голя أولا</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<video width="640" height="480" controls>
<source src="img/gato.mp4" type="video/mp4">
El navegador no soporta vídeos.
</video>
</section>

</main>
<footer>
<p>(c) Netmind</p>
</footer>
</body>
</html>


<!DOCTYPE html>
<html>

<head>
<title></title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="layout.css">
<link href="https://fonts.googleapis.com/css?family=Carter+One" rel="stylesheet">

</head>

<body>

<header>
<h1>La web de los gatitos </h1>
</header>

<main>

<aside>
<ul>
<li><a href="index.html">Inicio</a></li>
<li><a href="fotos.html">Fotos</a></li>
<li><a href="prod.html">Productos</a></li>
<li><a href="fotos.html">Tienda</a></li>
</ul>
</aside>

<section id="fotos">

<h2>Fotos tiernas</h2>
<figure>
<a href="http://facebook.com">
<img src="img/logo.png" width="32" height="32" alt=""/></a>
<img src="img/gato.jpg" alt=""/>
<figcaption>Un lindo gatito</figcaption>
</figure>
<figure>
<a href="http://facebook.com">
<img src="img/logo.png" width="32" height="32" alt=""/></a>
<img src="img/mascota.jpg" alt=""/>
<figcaption>Amor a los animales</figcaption>
</figure>
<figure>
<a href="http://facebook.com">
<img src="img/logo.png" width="32" height="32" alt=""/></a>
<img src="img/perro2.jpg" alt=""/>
<figcaption>El mejor amigo del hombre</figcaption>
</figure>

</section>

</main>
<footer>
<p>(c) Netmind</p>
</footer>
</body>
</html>

Animaciones CSS

<div id="prueba">
<h1>hola</h1>
</div>
#prueba{
width:100px;
height:100px;
background:red;
animation-name:animacion;
animation-duration:4s;
animation-iteration-count: infinite;
}

@keyframes animacion{

15% {transform:translate(0,200px)rotate(0deg);}
30% {transform:translate(0,200px) rotate(360deg);}
50% {transform:translate(100px,100px);background:red;}
65% {transform:translate(100px,100px);background:green;}
80% {transform:translate(100px,100px);background:blue;}

}

Degradados

<div id="prueba">
</div>
<div id="prueba2">
</div>
<div id="prueba3">
</div>
<div id="prueba4">
</div>
<div id="prueba5">
</div>
<div id="prueba6">
</div>
<h1>Hola que tal</h1>
div{
 display:inline-block;
 width:500px;
 height:300px;
 border: solid 2px grey;
 box-shadow: 20px -10px 10px orange;
 margin:20px;
}
#prueba{
 background:linear-gradient(rgba(30,90,90,0), rgba(30,90,90,1));
}
#prueba2{
 background:linear-gradient(45deg, red, blue,orange);
}
#prueba3{
 background:linear-gradient(to right,red, blue);
}
#prueba4{
 background:radial-gradient(red, blue);
}
#prueba5{
 background:radial-gradient(circle,red, blue);
}
#prueba6{
 background: radial-gradient(closest-side at 60% 55%, red, yellow, black);
}
h1{
 background-color:black;
 text-shadow: 0px 0px 10px rgba(255,255,255,0.6), 0px 0px 30px rgba(255,255,255,0.4), 0px 0px 50px rgba(255,255,255,0.3), 0px 0px 180px rgba(255,255,255,0.3);
 color: rgba(255,255,255,0);
}